2009-04-24 97 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));