DatePicker中的默认日期格式为“yyyy-mm-dd”,但我需要“dd-mm-yyyy”。 This one solution对我不起作用。
答案 0 :(得分:4)
这是一个非常古老的问题(标记有些错误,因为“已回答”)。 如果您需要为WPF DatePicker控件使用特定的日期格式,但又不想打开它的源代码(事实上,可以下载),您始终可以指定整个UI的DateFormat ,或为每个DatePicker控件设置它。
在我的应用中,我在Application_Startup事件中使用了以下内容:
Private Sub Application_Startup(ByVal sender As Object, ByVal e As System.Windows.StartupEventArgs) Handles MyBase.Startup
' other application initialization code here
Dim culInfo As Globalization.CultureInfo = New System.Globalization.CultureInfo("en-us")
Dim dtinfo As Globalization.DateTimeFormatInfo = New System.Globalization.DateTimeFormatInfo() With {
.ShortDatePattern = "dd-MMM-yyyy",
.ShortTimePattern = "hh:mm:ss tt",
.TimeSeparator = ":",
.MonthNames = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.MonthNames(),
.AbbreviatedMonthNames = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.AbbreviatedMonthNames(),
.DateSeparator = "-"}
culInfo.DateTimeFormat = dtinfo
System.Threading.Thread.CurrentThread.CurrentCulture = culInfo
请注意,这将在您的应用中设置短日期格式的格式(这是我想要的,而不是通过将文化应用于日期选择器的每个实例。我想出了上面基于另一个StackOverflow帖子;我不记得确切的位置(或者我会把作者归功于),但无论如何,希望这有帮助!
柯克
答案 1 :(得分:3)
如果您希望将该格式提供给您的日期,您必须执行以下操作:
DatePicker datetimepicker;
datetimepicker.SelectedDate.Value.ToString("yyyy-MM-dd");
datetimepicker.SelectedDate.Value
是DateTime Object
,因此您可以根据需要进行操作。
答案 2 :(得分:1)
使用CultureInfo.CurrentCulture
显示日期,即用户在控制面板中选择的Windows区域设置,似乎无法更改。但是它并不重要,因为它是用户首选的日期/时间设置。