2017-08-25 299 views
0

我使用VB.Net 2008.DateTimePicker默认值

我有两个DateTimePicker。第一个默认值是8/24/2017 1:35 PM(因为它是在8月24日创建的)。第二个默认值是当前日期和时间。我没有在属性中设置它们的默认值。

这只是奇怪我,他们有不同的默认值。无论如何,我的理想值是当前的日期和时间。

我也遇到过我以前的项目混乱有关的DateTimePicker它一直默认时间1:32 PM,其中时间应该被忽略,格式为“短”,默认值为当前日期,不包括时间

任何人都可以解释为什么会发生?

预先感谢您。

回答

0

根据我的经验,除非另有说明,否则DateTimePicker在其Value属性中包含当前日期和时间。为什么这不应该发生你的控制之一,我不知道。在那种情况下,我建议简单地删除该控件并添加一个新控件。希望这会表现得如预期。

有没有这样的事情作为“无视”时间的DateTimePickerDateTimePickerValue属性的类型为DateTimeDateTime总是具有日期组件和时间组件。您可以设置Format和可选的CustomFormat属性以仅显示日期,仅显示时间或仅显示其中的一部分,但与Value属性中存储的内容完全相同。

就像任何其他DateTime值,如果你想有一个DateTimePickerValue代表只是一个日期,那么你应该零的时间。如果您想使用当前日期而没有时间,则使用DateTime.Today,其中DateTime.Now会为您提供当前时间以及当前日期。如果要将任何DateTime值(包括ValueDateTimePicker)的时间归零,那么您将获得其Date属性。请注意,这不会影响原始值,但会创建一个具有相同日期和时间归零的新值DateTime,例如,

Dim selectedDate = myDateTimePicker.Value.Date 

注意DateTime.Today只是返回DateTime.Now.Date

+0

是的,为了安全起见,我使用myDateTimePicker.Value.Date – angel

+0

这不是安全的情况。您使用适合该任务的内容。如果你只想要一个日期,那么你使用'Date'属性。你这样做是因为它是你的场景中打算使用的。如果你使用它“以防万一”,那么我建议你没有真正设计你的应用程序。 – jmcilhinney