[英]String Format returns unexpected result
我只是想知道為什么這個代碼
DateTime.Now.ToString("MM/dd/yyyy"); and String.Format("{0: MM/dd/yyyy}", DateTime.Now);
兩者都返回03 31 2016而不是03/31/2016。
/
是一個格式說明符 ,它轉換為您的本地化日期分隔符。 將它包裝在撇號中或使用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
。
蒂姆的回答太棒了。 你也可以使用c#v6字符串插值:
var x = DateTime.Now.ToString($"MM/dd/yyyy");
var y = $"{DateTime.Now: MM/dd/yyyy}";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.