C# 中的日期时间格式
本文关键字:时间 格式 日期 | 更新日期: 2023-09-18 11:27:13
在 C# 中,可以使用 ToString()
方法将日期和字符串从DateTime对象获取为不同的格式。
在 ToString()
方法中将格式指定为字符串参数,以获取所需格式的日期字符串。
下面的示例演示如何获取不同格式的日期和时间字符串。
示例: DateTime Formats using ToString()
//4th August 2021, 23:58:30:999 (hours:minutes:seconds:milliseconds)
var mydate = new DateTime(2021,8,4,23,58,30,999);
mydate.ToString("MM/dd/yy"); // 08/4/21
mydate.ToString("MM/dd/yyyy");//08/04/2021
mydate.ToString("dd/MM/yy");//04/08/21
mydate.ToString("dd-MM-yy");//04-08-21
mydate.ToString("ddd, dd MMM yyyy"); // Wed, 04 Aug 2021
mydate.ToString("dddd, dd MMMM yy"); // Wednesday, 04 August 21
mydate.ToString("dddd, dd MMMM yyyy HH:mm"); // Wednesday, 04 August 2021 23:58
mydate.ToString("MM/dd/yy HH:mm"); // 08/04/21 23:58
mydate.ToString("MM/dd/yyyy hh:mm tt"); // 08/04/2021 11:58 PM
mydate.ToString("MM/dd/yyyy H:mm t"); // Wed, 04 Aug 2021 P
mydate.ToString("MM/dd/yyyy H:mm:ss"); // 08/04/2021 23:58:30
mydate.ToString("MMM dd"); // Aug 04
mydate.ToString("MM-dd-yyyTHH:mm:ss.fff"); // 08-04-2021T23:58:30.999
mydate.ToString("MM-dd-yyy g"); // 08-04-2021 A.D.
mydate.ToString("HH:mm"); // 23:58
mydate.ToString("hh:mm tt"); // 11:58 PM
mydate.ToString("HH:mm:ss"); // 23:58:30
mydate.ToString("'Full DateTime:' MM-dd-yyyTHH:mm:ss"); // Full DateTime: 08-04-2021T23:58:30
自定义日期格式说明符(Custom Date Format Specifiers)
可以在 ToString()
方法中使用一个或多个以下格式说明符的组合来根据需要获取日期字符串。
Format specifier | 描述 |
---|---|
"d" | 表示月份中的个位数日期,从 1 到 31。 |
"dd" | 表示每月的两位数日期,从 01 到 31。 |
"ddd" | 表示星期几的缩写名称。 |
"dddd" | 表示星期几的全名。 |
"f" | 表示秒的最有效数字 |
"ff" | 表示日期和时间值中的百分之一秒。 |
"fff" | 表示日期和时间值中的毫秒数。 |
"ffff" | 表示日期和时间值中的万分之一秒。 |
"fffff" | 表示日期和时间值中的十万分之一秒。 |
"ffffff" | 表示日期和时间值中的百万分之一秒。 |
"fffffff" | 表示日期和时间值中的千万分之一秒。 |
"F" | 表示日期和时间值中的十分之一秒。如果数字为零,则不显示任何内容,并且秒数后面的小数点也不会显示。 |
"FF" | 表示日期和时间值中的百分之一秒。 Trailing zeros aren't displayed. Nothing is displayed if the two significant digits are zero, and in that case, the decimal point that follows the number of seconds is also not displayed. |
"FFF" | 表示日期和时间值中的毫秒数。 Trailing zeros aren't displayed. Nothing is displayed if the three significant digits are zero, and in that case the decimal point that follows the number of seconds is also not displayed. |
"FFFF" | 表示日期和时间值中的万分之一秒。 |
"FFFFF" | 表示日期和时间值中的十万分之一秒。 |
"FFFFFF" | 表示日期和时间值中的百万分之一秒。 |
"FFFFFFF" | 表示日期和时间值中的千万分之一秒。 |
"g", "gg" | 时期或时代:公元 |
"h" | 表示小时,使用从 1 到 12 的 12 小时制。 |
"hh" | 表示从 01 到 12 的 12 小时制中的两位数小时数。 |
"H" | 表示从 0 到 23 的 24 小时制中的个位数小时数。 |
"HH" | 表示 24 小时制从 00 到 23 的两位数小时数。 |
"K" | 使用 DateTime.Kind 属性表示时区信息。 |
"m" | 表示从 0 到 59 的分钟。 |
"mm" | 表示从 00 到 59 的分钟。 |
"M" | 表示月份,从 1 到 12。 |
"MM" | 表示从 01 到 12 的月份。 |
"MMM" | 表示月份的缩写名称。 |
"MMMM" | 表示月份的全名。 |
"s" | 表示第二个,从 0 到 59。 |
"ss" | 表示两位数秒,从 00 到 59。 |
"t" | 表示 AM/PM 指示符的第一个字符。 |
"tt" | 表示 AM/PM 指示符。 |
"y" | 表示年份,从 0 到 99。 |
"yy" | 表示从 00 到 99 的年份。 |
"yyy" | 表示年份,至少为三位数字。 |
"yyyy" | 以四位数字表示年份。 |
"yyyyy" | 以五位数字表示年份。 |
"z" | 表示小时与 UTC 的偏移量,没有前导零。 |
"zz" | 表示小时与 UTC 的偏移量,前导零表示个位数值。 |
"zzz" | 表示小时和分钟与 UTC 的偏移量。 |
":" | 表示时间分隔符。 |
"/" | 表示日期分隔符。 |
"string" 'string' | 表示文本字符串分隔符。 |
% | 指定以下字符作为自定义格式说明符。 |
表示转义字符。 | |
Any other character | 该字符将原封不动地复制到结果字符串中。 |
下面的示例演示了上表的所有格式说明符。
示例: DateTime Formats in C#
var mydate = new DateTime(2021, 8, 4, 23, 58, 30, 999);
//day formats
Console.WriteLine(""d" -> {0}", mydate.ToString("d"));
Console.WriteLine(""d/M/yy" -> {0}", mydate.ToString("d/M/yy"));
Console.WriteLine(""dd" -> {0}", mydate.ToString("dd"));
Console.WriteLine(""ddd" -> {0}", mydate.ToString("ddd"));
Console.WriteLine(""dddd" -> {0}", mydate.ToString("dddd"));
//month formats
Console.WriteLine(""M" -> {0}", mydate.ToString("M"));
Console.WriteLine(""d/M/yy" -> {0}", mydate.ToString("d/M/yy"));
Console.WriteLine(""MM" -> {0}", mydate.ToString("MM"));
Console.WriteLine(""MMm" -> {0}", mydate.ToString("MMM"));
Console.WriteLine(""MMMM" -> {0}", mydate.ToString("MMMM"));
//year formats
Console.WriteLine(""y" -> {0}", mydate.ToString("y"));
Console.WriteLine(""yy" -> {0}", mydate.ToString("yy"));
Console.WriteLine(""yyy" -> {0}", mydate.ToString("yyy"));
Console.WriteLine(""yyyy" -> {0}", mydate.ToString("yyyy"));
Console.WriteLine(""yyyyy" -> {0}", mydate.ToString("yyyyy"));
//hour formats
Console.WriteLine(""mm/dd/yy h" -> {0}", mydate.ToString("MM/dd/yy h"));
Console.WriteLine(""hh" -> {0}", mydate.ToString("hh"));
Console.WriteLine(""mm/dd/yy h" -> {0}", mydate.ToString("MM/dd/yy H"));
Console.WriteLine(""HH" -> {0}", mydate.ToString("HH"));
//minuts formats
Console.WriteLine(""m" -> {0}", mydate.ToString("m"));
Console.WriteLine(""mm" -> {0}", mydate.ToString("mm"));
Console.WriteLine(""h:m" -> {0}", mydate.ToString("h:m"));
Console.WriteLine(""hh:mm" -> {0}", mydate.ToString("hh:mm"));
//second formats
Console.WriteLine(""s" -> {0}", mydate.ToString("s"));
Console.WriteLine(""ss" -> {0}", mydate.ToString("ss"));
//AM/PM
Console.WriteLine(""hh:mm t" -> {0}", mydate.ToString("hh:mm t"));
Console.WriteLine(""hh:mm tt" -> {0}", mydate.ToString("hh:mm tt"));
//timezone formats
Console.WriteLine(""mm/dd/yy K" -> {0}", mydate.ToString("MM/dd/yy K"));
Console.WriteLine(""mm/dd/yy z" -> {0}", mydate.ToString("MM/dd/yy z"));
Console.WriteLine(""zz" -> {0}", mydate.ToString("zz"));
Console.WriteLine(""zzz" -> {0}", mydate.ToString("zzz"));
了解有关自定义日期格式的详细信息here。
本文内容总结: