我知道这可能是重复但是使用.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!
由于
答案 0 :(得分:17)
DatePicker.SelectedDate.Value.Date
是DateTime
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 的对象