根据我的经验,除非另有说明,否则DateTimePicker
在其Value
属性中包含当前日期和时间。为什么这不应该发生你的控制之一,我不知道。在那种情况下,我建议简单地删除该控件并添加一个新控件。希望这会表现得如预期。
有没有这样的事情作为“无视”时间的DateTimePicker
。 DateTimePicker
的Value
属性的类型为DateTime
和DateTime
总是具有日期组件和时间组件。您可以设置Format
和可选的CustomFormat
属性以仅显示日期,仅显示时间或仅显示其中的一部分,但与Value
属性中存储的内容完全相同。
就像任何其他DateTime
值,如果你想有一个DateTimePicker
的Value
代表只是一个日期,那么你应该零的时间。如果您想使用当前日期而没有时间,则使用DateTime.Today
,其中DateTime.Now
会为您提供当前时间以及当前日期。如果要将任何DateTime
值(包括Value
的DateTimePicker
)的时间归零,那么您将获得其Date
属性。请注意,这不会影响原始值,但会创建一个具有相同日期和时间归零的新值DateTime
,例如,
Dim selectedDate = myDateTimePicker.Value.Date
注意DateTime.Today
只是返回DateTime.Now.Date
。
是的,为了安全起见,我使用myDateTimePicker.Value.Date – angel
这不是安全的情况。您使用适合该任务的内容。如果你只想要一个日期,那么你使用'Date'属性。你这样做是因为它是你的场景中打算使用的。如果你使用它“以防万一”,那么我建议你没有真正设计你的应用程序。 – jmcilhinney