【发布时间】:2009-10-08 08:50:39
【问题描述】:
DatePicker 中的默认日期格式是“yyyy-mm-dd”,但我需要“dd-mm-yyyy”。 This one solution 不适合我。
【问题讨论】:
标签: c# wpf datepicker toolkit
DatePicker 中的默认日期格式是“yyyy-mm-dd”,但我需要“dd-mm-yyyy”。 This one solution 不适合我。
【问题讨论】:
标签: c# wpf datepicker toolkit
这是一个相当古老的问题(被错误地标记为“已回答”)。 如果您需要为 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 帖子;我不记得它的确切位置(或者我相信作者),但无论如何,希望这会有所帮助!
柯克
【讨论】:
如果您想为您的日期提供该格式,您必须执行以下操作:
DatePicker datetimepicker;
datetimepicker.SelectedDate.Value.ToString("yyyy-MM-dd");
datetimepicker.SelectedDate.Value 是 DateTime Object,因此您可以随意操作。
【讨论】:
日期使用CultureInfo.CurrentCulture显示,即用户在控制面板中选择的Windows区域设置,似乎无法更改。不过这并不重要,因为它是用户首选的日期/时间设置。
【讨论】: