我只是想知道为什么这段代码
DateTime.Now.ToString("MM/dd/yyyy"); and String.Format("{0: MM/dd/yyyy}", DateTime.Now);
均返回03 31 2016而不是03/31/2016。
答案 0 :(得分:8)
/
是format specifier,它会转换为您的本地化日期分隔符。将其包装在撇号中或使用DateTimeFormatInfo.InvariantInfo
的重载。
Console.WriteLine( DateTime.Now.ToString("MM'/'dd'/'yyyy") );
Console.WriteLine( DateTime.Now.ToString("MM/dd/yyyy", DateTimeFormatInfo.InvariantInfo) );
或String.Format
:
Console.WriteLine( String.Format("{0:MM'/'dd'/'yyyy}", DateTime.Now) );
Console.WriteLine( String.Format(DateTimeFormatInfo.InvariantInfo, "{0:MM/dd/yyyy}", DateTime.Now) );
您也可以使用CultureInfo.InvariantCulture
代替DateTimeFormatInfo.InvariantInfo
。
答案 1 :(得分:0)
var x = DateTime.Now.ToString($"MM/dd/yyyy");
var y = $"{DateTime.Now: MM/dd/yyyy}";