[英]Issue DateTime.ToString with string format “M” in .NET
我有DateTime的字符串格式的問題。 我認為這是MS中的錯誤。 你能解釋一下,有什么不對嗎?
class Program
{
static void Main(string[] args)
{
Console.WriteLine(DateTime.Now.ToString("M"));//return 07 July <---- WRONG, SEE MSDN
Console.WriteLine(DateTime.Now.ToString(".M"));//return .7 <---- GOOD
Console.ReadKey();
}
}
如果使用“M”格式說明符而沒有其他自定義格式說明符 ,則將其解釋為
"M"
標准日期和時間格式說明符 。 有關使用單個格式說明符的詳細信息,請參閱本主題后面的使用單個自定義格式說明符。
自定義日期和時間格式字符串由兩個或多個字符組成。 日期和時間格式化方法將任何單字符字符串解釋為標准日期和時間格式字符串。 如果他們不將該字符識別為有效的格式說明符,
FormatException
拋出FormatException
。 例如,僅由說明符“h”組成的格式字符串被解釋為標准日期和時間格式字符串。 但是,在這種特殊情況下,拋出異常,因為沒有“h”標准日期和時間格式說明符。使用任何自定義日期和時間格式說明符作為格式字符串中的唯一說明符(即使用“d”,“f”,“F”,“g”,“h”,“H”, “K”,“m”, “M” ,“s”,“t”,“y”,“z”,“:”或“/”自定義格式說明符) 包括在之前或之后的空格說明符,或在單個自定義日期和時間說明符之前包含百分比(“%”)格式說明符 。
這就是為什么你可以使用其中之一;
Console.WriteLine(DateTime.Now.ToString(" M")); // 7
Console.WriteLine(DateTime.Now.ToString("M ")); //7
Console.WriteLine(DateTime.Now.ToString("%M")); //7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.