2

DatePicker 中的默认日期格式是“yyyy-mm-dd”,但我需要“dd-mm-yyyy”。这个解决方案对我不起作用。

4

3 回答 3

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 帖子上;我不记得它到底在哪里(或者我相信作者),但无论如何,希望这会有所帮助!

柯克

于 2011-02-02T09:12:40.297 回答
2

如果您想为您的日期提供该格式,您必须执行以下操作:

DatePicker datetimepicker;
datetimepicker.SelectedDate.Value.ToString("yyyy-MM-dd");

datetimepicker.SelectedDate.Value是 aDateTime Object所以你可以随心所欲地操作。

于 2012-10-18T17:42:17.347 回答
1

日期使用 显示CultureInfo.CurrentCulture,即用户在控制面板中选择的 Windows 区域设置,似乎无法更改。但是,这并不重要,因为它是用户首选的日期/时间设置。

于 2009-10-08T09:09:44.657 回答