簡體   English   中英

String Format返回意外結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM