2013-03-07 22 views

回答

33

/日期/時間格式字符串代表「無論格式提供者的日期分隔符是什麼」。由於您沒有提供格式提供商Thread.CurrentCulture,因此在您的情況下,當前文化使用.作爲日期分隔符。

如果你想使用文字斜線,將其放置在單引號內:

dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 

dateTime.ToString("dd'/'MM'/'yyyy"); 

或者,你可以在日期分隔符是/指定格式提供以上全部爲documented on MSDN

See the difference in a live example

+0

這是實際答案的唯一答案*爲什麼*問題的部分(即說,「/」是特定文化的隔膜)+1 – ken2k 2013-03-07 14:14:11

+0

作爲一個側面說明,感謝您對ideone.com的鏈接! – cooltea 2013-03-07 14:29:44

2
string s = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture) 
1

這工作(注意InvariantCulture):

DateTime.Now.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture) 

如果未指定CultureInfo,則CurrentCulture將被使用。如果這是一種在日期中不使用斜槓作爲分隔符的文化,它會被實際的文化日期分隔符替換。

2

這是由於的方式ToString works by default,按照當前的培養:

此方法使用從當前 培養物衍生格式化信息。

所以,重寫:

string date = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture) 
相關問題