DateTime類型ToString時 顯示時間 AM/PM

如果不添加DateTimeFormatInfo.InvariantInfo參數的話,默認是本地化的。

Console.WriteLine(DateTime.Now.ToString("hh:mm tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)); //12:09 PM

Console.WriteLine(DateTime.Now.ToString("hh:mm tt")); //12:09 下午

Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)); //03/25/2020 12:13:24 PM
DateTime time = DateTime.Now;
string s = time.ToString("yyyy.MM.dd hh:mm:ss t\\M");
Console.WriteLine(s);

Explanation: t gives the first character of the AM/PM designator (the localized designator can be retrieved in DateTimeFormatInfo.AMDesignator and DateTimeFormatInfo.PMDesignator). The \M escapes the M so that DateTime.ToString does not interpret it as part of the format string and print the numerical value of the month.

Note that once you do this you are explicitly being culture insensitive. For example, in Japan, the AM/PM designator differs in the second characters, not the first.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章