WPF日期picker - SelectedDate只是日期而不是时间
本文关键字:日期 时间 SelectedDate picker WPF | 更新日期: 2023-09-27 18:18:01
我知道这可能是重复的,但是使用。net框架,我似乎无法获得日期,而不是WPF DatePicker的时间。
我有这个:
DatePicker.SelectedDate.Value.Date
我相信使用"日期"属性将只返回日期,但它返回时间&;12:00:00&;。
我读https://learn.microsoft.com/en-us/dotnet/api/system.datetime.date所以我不确定我做错了什么。
我确定这是愚蠢的东西,一如既往,但没有帮助的眼睛跟我告诉我,我想我诉诸于SO!
DatePicker.SelectedDate.Value.Date
是DateTime
的可空属性。因此,任何DateTime
属性都有日期和时间部分。但在这种情况下,它不是用正确的值填充,它会给你默认值。如果想要获取日期,请使用以下代码
DatePicker.SelectedDate.Value.Date.ToShortDateString()
SelectedDate
属性类型为Nullable<DateTime>
,它为您提供日期,但时间被重置为12:00:00 midnight (00:00:00)
查看更多关于DatePicker。SelectedDate地产
from MSDN: DateTime。日期属性
返回的DateTime值的Kind属性值与当前实例的值相同。因为DateTime类型在一个类型中同时表示日期和时间,所以避免将date属性返回的日期误解为日期和时间是很重要的。有关详细信息,请参见DateTime主题中的"保存和恢复DateTime值"。
当您在代码中从日期选择器中选择日期时,您可以执行以下操作:
DateTime from = From_Date_Picker.SelectedDate.Value.Date
下面的示例使用Date属性提取DateTime值的日期组件,其时间组件设置为零(或0:00:00,或午夜)。它还说明,根据显示DateTime值时使用的格式字符串,时间组件可以继续出现在格式化的输出中。
这就是说,根据格式(在这种情况下,我认为是DatePicker),时间组件可以出现。就像你的链接一样,输出是12:00 AM
所以检查DatePicker的格式/属性
在您的代码中,您可以做以下操作:
string shortDate = datePicker.SelectedDate.Value.ToShortDateString();
或者,如果你想指定日期的格式:
string formatDate = datePicker.SelectedDate.Value.ToString("yyyy-MM-dd");
这里datePicker是datePicker WPF的对象
检查您的Windows区域设置是否设置为24小时制。我猜它返回12AM