WPF Datepicker - SelectedDate只是日期而不是时间

时间:2014-08-14 09:05:59

标签: c# wpf date datepicker

我知道这可能是重复但是使用.NET框架我似乎无法获得日期而不是WPF DatePicker的时间

我有这个

DatePicker.SelectedDate.Value.Date <--- I believed using the "Date" property would only return the date, but it returns the time "12:00:00" as well. 

我读了http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx所以我不确定我做错了什么。

我确定一如既往的傻事。但是,如果没有人帮助我告诉我,我认为我诉诸于SO!

由于

6 个答案:

答案 0 :(得分:17)

DatePicker.SelectedDate.Value.DateDateTime Nullable属性。因此,任何DateTime属性都有日期和时间部分。但在这种情况下,它没有填充正确的值,它将为您提供默认值。如果你想获得日期只使用以下代码,

DatePicker.SelectedDate.Value.Date.ToShortDateString()

答案 1 :(得分:2)

SelectedDate属性属于Nullable<DateTime>类型,它会为您提供日期,但时间会重置为12:00:00 midnight (00:00:00)

DatePicker.SelectedDate Property

上查看更多内容

来自MSDN: DateTime.Date Property

  

返回的DateTime值的Kind属性的值与当前实例的值相同。   由于DateTime类型表示单个类型中的日期和时间,因此避免将Date属性返回的日期误解为日期和时间非常重要。有关更多信息,请参阅DateTime主题中的“保存和恢复日期时间值”。

答案 2 :(得分:1)

  

以下示例使用Date属性提取DateTime值的日期组件,并将其时间组件设置为零(或0:00:00或午夜)。它还说明,根据显示DateTime值时使用的格式字符串,时间组件可以继续显示在格式化输出中。

这表示根据格式(在本例中我认为是DatePicker),可以显示Time组件。与您的链接一样,输出为12:00 AM

请检查DatePicker的格式/属性。

答案 3 :(得分:1)

在代码中从datepicker中选择日期时,您可以执行以下操作:

    DateTime from = From_Date_Picker.SelectedDate.Value.Date

答案 4 :(得分:0)

检查以确保您的Windows区域设置设置为24小时制。我猜它回到了上午12点

答案 5 :(得分:0)

在您的代码中,您可以执行以下操作:

string shortDate = datePicker.SelectedDate.Value.ToShortDateString();

或者,如果您想指定日期的格式:

string formatDate = datePicker.SelectedDate.Value.ToString("yyyy-MM-dd");

这里的 datePicker 是 DatePicker WPF 的对象