C#/.NET/.NET Core应用程序编程开发中如何将日期/时间格式化成指定的字符串格式?
3.14K 次浏览
3 个回答
-
以下列举.NET内置的关于日期/时间格式化的可能的格式:
// 初始化一个时期 DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" 格式化年部分 String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" 格式化月部分 String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" 格式化天部分 String.Format("{0:h hh H HH}", dt); // "4 04 16 16" 格式化小时部分 String.Format("{0:m mm}", dt); // "5 05" 格式化分钟部分 String.Format("{0:s ss}", dt); // "7 07" 格式化秒部分 String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" 格式化毫秒部分(有小数) String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" 格式化毫秒部分(不包含末尾的零) String.Format("{0:t tt}", dt); // "P PM" A.M. 或者 P.M. String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" 时区 // 月份/天部分包含/不包含0的补位 String.Format("{0:M/d/yyyy}", dt); // "3/9/2008" String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008" // 英文语言中天/月部分的名称格式化 String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008" String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008" // 两位/四位的年部分格式化 String.Format("{0:MM/dd/yy}", dt); // "03/09/08" String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
我们也可以标准的日期格式化字符来处理,如下:
String.Format("{0:t}", dt); // "4:05 PM" String.Format("{0:d}", dt); // "3/9/2008" String.Format("{0:T}", dt); // "4:05:07 PM" String.Format("{0:D}", dt); // "Sunday, March 09, 2008" String.Format("{0:f}", dt); // "Sunday, March 09, 2008 4:05 PM" String.Format("{0:F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" String.Format("{0:g}", dt); // "3/9/2008 4:05 PM" String.Format("{0:G}", dt); // "3/9/2008 4:05:07 PM" String.Format("{0:m}", dt); // "March 09" String.Format("{0:y}", dt); // "March, 2008" String.Format("{0:r}", dt); // "Sun, 09 Mar 2008 16:05:07 GMT" String.Format("{0:s}", dt); // "2008-03-09T16:05:07" String.Format("{0:u}", dt); // "2008-03-09 16:05:07Z"
-
如果在C# 6.0及以上的版本中,你还可以使用
$
插值法来格式化日期/时间,如下:DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); $"{dt:y yy yyy yyyy}"; // "8 08 008 2008" 年 $"{dt:M MM MMM MMMM}"; // "3 03 Mar March" 月 $"{dt:d dd ddd dddd}"; // "9 09 Sun Sunday" 日 $"{dt:h hh H HH}"; // "4 04 16 16" 小时 12/24 $"{dt:m mm}"; // "5 05" 分钟 $"{dt:s ss}"; // "7 07" 秒 $"{dt:f ff fff ffff}"; // "1 12 123 1230" 格式化毫秒部分(有小数) $"{dt:F FF FFF FFFF}"; // "1 12 123 123" 格式化毫秒部分(不包含末尾的零) $"{dt:t tt}"; // "P PM" A.M. 或者 P.M. $"{dt:z zz zzz}"; // "-6 -06 -06:00" 时区 // 月份/天部分包含/不包含0的补位 $"{dt:M/d/yyyy}"; // "3/9/2008" $"{dt:MM/dd/yyyy}"; // "03/09/2008" // 英文语言中天/月部分的名称格式化 $"{dt:ddd, MMM d, yyyy}"; // "Sun, Mar 9, 2008" $"{dt:dddd, MMMM d, yyyy}"; // "Sunday, March 9, 2008" // 两位/四位的年部分格式化 $"{dt:MM/dd/yy}"; // "03/09/08" $"{dt:MM/dd/yyyy}"; // "03/09/2008"