2009-04-24 98 views
8

我遇到了C#的奇怪行爲。它的一些像這樣的事情..C#中的日期時間格式

var date = DateTime.Now.ToString("MM/dd/yyyy"); 

我希望證明是

04/24/2009 

但在實際工作中其返回

04-24-2009 

和我的OS文化是EN-GB,我使用.Net 3.5和WPF

任何解決方案,請......

+0

你是否已經完成了該代碼並在該DateTime.Now.ToString()上完成了「QuickWatch」? – Tacoman667 2009-04-24 13:17:19

回答

18

根據MSDN文檔自定義的日期和時間的格式字符串,/是一個佔位符:

表示當前 DateTimeFormatInfo.DateSeparator 屬性定義 日期分隔符。此分隔符用於區分年,月和日。

如果你想有一個明確的斜線,用 「MM '/' DD '/' YYYY」:

DateTime.Now.ToString("MM'/'dd'/'yyyy") 
3

它使用在區域設置中設置的分隔符,因爲「/」是分隔符的替代字符。

您可以使用不同的分隔符創建自己的DateTimeFormat實例。

2

嘗試調用上的日期本身的ToString和傳遞CultureInfo.InvariantCulture對象:

string date = yourDate.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture));