.NET Framework 提供了一种一致、灵活而且全面的方式,使您能够将任何数值、枚举以及日期和时间等基数据类型表示为字符串。格式化由格式说明符字符的字符串控制,该字符串指示如何表示基类型值。
除了对于数据格式的显示提供了方法,.NET Framework 还使用区域性设置,以便用适合于特定区域性的形式表示基类型。您可以提供自定义的区域性设置,或者使用与当前线程关联的默认区域性设置。
.NET Framework 提供了 标准数字格式字符串,标准 DateTime 格式字符串,枚举格式字符串
以下代码描述了标准数字格式字符串的方式
以下代码描述了,日期格式化的简单方式 1 double d = 1234.5678;
2 System.Console.WriteLine("数字原型\t{0}", d.ToString());//1234.5678
3 System.Console.WriteLine("货币格式\t{0}", d.ToString("C"));//¥1,234.57
4 System.Console.WriteLine("十进制格式\t{0}", ((int)d).ToString("D"));//1234
5 System.Console.WriteLine("指数格式\t{0}", d.ToString("E"));//1.234568E+003
6 System.Console.WriteLine("固定点格式\t{0}", d.ToString("F"));//1234.57
7 System.Console.WriteLine("固定点格式3精度\t{0}", d.ToString("F3"));//1234.568
8 System.Console.WriteLine("常规制格\t{0}", d.ToString("G"));//1234.5678
9 System.Console.WriteLine("数字格式\t{0}", d.ToString("N"));//1,234.57
10 System.Console.WriteLine("数字格式精度1\t{0}", d.ToString("N1"));//1,234.6
11 System.Console.WriteLine("百分比格式\t{0}", d.ToString("P"));//123,456.78%
12 System.Console.WriteLine("百分比格式2精度\t{0}", d.ToString("P2"));//123,456.78%
13 System.Console.WriteLine("往返过程格式\t{0}", d.ToString("R"));//1234.5678
14 System.Console.WriteLine("十六进制格式\t{0}", ((int)d).ToString("X"));//4D2
2 System.Console.WriteLine("数字原型\t{0}", d.ToString());//1234.5678
3 System.Console.WriteLine("货币格式\t{0}", d.ToString("C"));//¥1,234.57
4 System.Console.WriteLine("十进制格式\t{0}", ((int)d).ToString("D"));//1234
5 System.Console.WriteLine("指数格式\t{0}", d.ToString("E"));//1.234568E+003
6 System.Console.WriteLine("固定点格式\t{0}", d.ToString("F"));//1234.57
7 System.Console.WriteLine("固定点格式3精度\t{0}", d.ToString("F3"));//1234.568
8 System.Console.WriteLine("常规制格\t{0}", d.ToString("G"));//1234.5678
9 System.Console.WriteLine("数字格式\t{0}", d.ToString("N"));//1,234.57
10 System.Console.WriteLine("数字格式精度1\t{0}", d.ToString("N1"));//1,234.6
11 System.Console.WriteLine("百分比格式\t{0}", d.ToString("P"));//123,456.78%
12 System.Console.WriteLine("百分比格式2精度\t{0}", d.ToString("P2"));//123,456.78%
13 System.Console.WriteLine("往返过程格式\t{0}", d.ToString("R"));//1234.5678
14 System.Console.WriteLine("十六进制格式\t{0}", ((int)d).ToString("X"));//4D2
1 DateTime dt = DateTime.Now;
2 System.Console.WriteLine("短日期模式\t{0}", dt.ToString("d"));//2007-2-16
3 System.Console.WriteLine("长日期模式\t{0}", dt.ToString("D"));//2007年2月16日
4 System.Console.WriteLine("短时间模式\t{0}", dt.ToString("t"));//21:50
5 System.Console.WriteLine("长时间模式\t{0}", dt.ToString("T"));//21:50:19
6 System.Console.WriteLine("短完整模式\t{0}", dt.ToString("f"));//2007年2月16日 21:50
7 System.Console.WriteLine("长完整模式\t{0}", dt.ToString("F"));//2007年2月16日 21:50:19
8 System.Console.WriteLine("短常规模式\t{0}", dt.ToString("g"));//2007-2-16 21:50
9 System.Console.WriteLine("长常规模式\t{0}", dt.ToString("G"));//2007-2-16 21:50:19
10 System.Console.WriteLine("RFC1132模式\t{0}", dt.ToString("R"));//Fri, 16 Feb 2007 21:50:19 GMT
11 System.Console.WriteLine("ISO8601模式\t{0}", dt.ToString("s"));//2007-02-16T21:50:19
12 System.Console.WriteLine("通用模式\t{0}", dt.ToString("u"));//2007-02-16 21:50:19Z
13 System.Console.WriteLine("通用模式\t{0}", dt.ToString("U"));//2007年2月16日 13:50:19
14 System.Console.WriteLine("年月模式\t{0}", dt.ToString("Y"));//2007年2月
2 System.Console.WriteLine("短日期模式\t{0}", dt.ToString("d"));//2007-2-16
3 System.Console.WriteLine("长日期模式\t{0}", dt.ToString("D"));//2007年2月16日
4 System.Console.WriteLine("短时间模式\t{0}", dt.ToString("t"));//21:50
5 System.Console.WriteLine("长时间模式\t{0}", dt.ToString("T"));//21:50:19
6 System.Console.WriteLine("短完整模式\t{0}", dt.ToString("f"));//2007年2月16日 21:50
7 System.Console.WriteLine("长完整模式\t{0}", dt.ToString("F"));//2007年2月16日 21:50:19
8 System.Console.WriteLine("短常规模式\t{0}", dt.ToString("g"));//2007-2-16 21:50
9 System.Console.WriteLine("长常规模式\t{0}", dt.ToString("G"));//2007-2-16 21:50:19
10 System.Console.WriteLine("RFC1132模式\t{0}", dt.ToString("R"));//Fri, 16 Feb 2007 21:50:19 GMT
11 System.Console.WriteLine("ISO8601模式\t{0}", dt.ToString("s"));//2007-02-16T21:50:19
12 System.Console.WriteLine("通用模式\t{0}", dt.ToString("u"));//2007-02-16 21:50:19Z
13 System.Console.WriteLine("通用模式\t{0}", dt.ToString("U"));//2007年2月16日 13:50:19
14 System.Console.WriteLine("年月模式\t{0}", dt.ToString("Y"));//2007年2月
日期的格式化,还允许自定义的方式
下面代码描述了日期的自定义格式
1 DateTime dt = DateTime.Now;
2 System.Console.WriteLine("当前日期\t{0}",dt.ToString("今天是d号"));
3 System.Console.WriteLine("有前导的当前日期\t{0}", dt.ToString("今天是dd号"));
4 System.Console.WriteLine("日期缩写\t{0}", dt.ToString("今天是ddd"));
5 System.Console.WriteLine("日期全名\t{0}", dt.ToString("今天是dddd"));
6 System.Console.WriteLine("秒\t{0}", dt.ToString("现在的秒是f"));
7 System.Console.WriteLine("秒的最高7位\t{0}", dt.ToString("现在秒是fffffff"));
8 System.Console.WriteLine("年代\t{0}", dt.ToString("现在是g纪年"));
9 System.Console.WriteLine("1-12小时模式\t{0}", dt.ToString("现在是hh点"));
10 System.Console.WriteLine("0-23小时模式\t{0}", dt.ToString("现在是HH点"));
11 System.Console.WriteLine("分钟\t{0}", dt.ToString("现在是mm分钟"));
12 System.Console.WriteLine("月份\t{0}", dt.ToString("现在是MM月"));
13 System.Console.WriteLine("月缩写\t{0}", dt.ToString("现在是MMM"));
14 System.Console.WriteLine("月全名\t{0}", dt.ToString("现在是MMMM"));
15 System.Console.WriteLine("A.M./P.M\t{0}", dt.ToString("现在是t"));
16 System.Console.WriteLine("A.M./P.M\t{0}", dt.ToString("现在是tt"));
17 System.Console.WriteLine("秒\t{0}", dt.ToString("现在是ss"));
18 System.Console.WriteLine("年\t{0}", dt.ToString("现在是y年"));
19 System.Console.WriteLine("年\t{0}", dt.ToString("现在是yy年"));
20 System.Console.WriteLine("年\t{0}", dt.ToString("现在是yyyy年"));
21 System.Console.WriteLine("标准时差\t{0}", dt.ToString("现在是z"));
22 System.Console.WriteLine("标准时差\t{0}", dt.ToString("现在是zz"));
23 System.Console.WriteLine("现在的时间是:{0}", dt.ToString("g yyyy年 MM月 dd日 tt HH:mm:ss 和标准时差zz"));
24
2 System.Console.WriteLine("当前日期\t{0}",dt.ToString("今天是d号"));
3 System.Console.WriteLine("有前导的当前日期\t{0}", dt.ToString("今天是dd号"));
4 System.Console.WriteLine("日期缩写\t{0}", dt.ToString("今天是ddd"));
5 System.Console.WriteLine("日期全名\t{0}", dt.ToString("今天是dddd"));
6 System.Console.WriteLine("秒\t{0}", dt.ToString("现在的秒是f"));
7 System.Console.WriteLine("秒的最高7位\t{0}", dt.ToString("现在秒是fffffff"));
8 System.Console.WriteLine("年代\t{0}", dt.ToString("现在是g纪年"));
9 System.Console.WriteLine("1-12小时模式\t{0}", dt.ToString("现在是hh点"));
10 System.Console.WriteLine("0-23小时模式\t{0}", dt.ToString("现在是HH点"));
11 System.Console.WriteLine("分钟\t{0}", dt.ToString("现在是mm分钟"));
12 System.Console.WriteLine("月份\t{0}", dt.ToString("现在是MM月"));
13 System.Console.WriteLine("月缩写\t{0}", dt.ToString("现在是MMM"));
14 System.Console.WriteLine("月全名\t{0}", dt.ToString("现在是MMMM"));
15 System.Console.WriteLine("A.M./P.M\t{0}", dt.ToString("现在是t"));
16 System.Console.WriteLine("A.M./P.M\t{0}", dt.ToString("现在是tt"));
17 System.Console.WriteLine("秒\t{0}", dt.ToString("现在是ss"));
18 System.Console.WriteLine("年\t{0}", dt.ToString("现在是y年"));
19 System.Console.WriteLine("年\t{0}", dt.ToString("现在是yy年"));
20 System.Console.WriteLine("年\t{0}", dt.ToString("现在是yyyy年"));
21 System.Console.WriteLine("标准时差\t{0}", dt.ToString("现在是z"));
22 System.Console.WriteLine("标准时差\t{0}", dt.ToString("现在是zz"));
23 System.Console.WriteLine("现在的时间是:{0}", dt.ToString("g yyyy年 MM月 dd日 tt HH:mm:ss 和标准时差zz"));
24