2009-10-08 125 views

回答

1

使用CultureInfo.CurrentCulture顯示日期,即用戶在控制面板中選擇的Windows區域設置,似乎無法更改。然而,它應該不是很重要,因爲它是用戶首選的日期/時間設置。

3

這是一個相當古老的問題(標記爲「回答」有些不正確)。 如果您需要爲WPF DatePicker控件使用特定的日期格式,但不想打開其源代碼(實際上它可供下載),則始終可以指定整個日期格式UI,或者爲每個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文章提出了上述內容;我不記得它的確切位置(或者我稱讚作者),但無論如何,希望這會有所幫助!

Kirk

+0

Thx爲您的答案。檢查一個足以解決我的問題。但我會在未來的應用程序中嘗試你的方式。映入眼簾。 – Kamilos 2011-02-03 07:45:51

+0

很好的回答! – Vishal 2014-09-01 10:27:48

3

如果你想給該格式你的日期你必須做這樣的事情:

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

datetimepicker.SelectedDate.ValueDateTime Object,所以你可以操縱你想要的。

+0

我相信這個問題是關於改變日期選擇器本身的顯示格式。 – mikalai 2012-10-18 17:48:18

+0

你的答案幫助我。謝謝。我爲你投票。 – 2013-01-12 12:28:31

相關問題