附上微软官方的链接:
标准数字格式字符串
#region
//*****************************
//*** Formatting Types ***
//*****************************
#region
//------------------------------------
//------标准及自定义数字格式字符串----
//------------------------------------
Console.WriteLine("------------------------标准及自定义数字格式字符串---------------------------");
Double d1 = 12345.6789;
Double d2 = 0.0123;
Double d3 = 0.23;
Double d4 = 1.55;
Int32 i1 = 31;
Int32 i2 = -7;
Int32 i3 = 1234567890;
//C or c 货币表示
//d1 = 12345.6789;
Console.WriteLine("----C or c 货币表示----");
Console.WriteLine(d1.ToString("C", CultureInfo.InvariantCulture)); //¤12,345.68
Console.WriteLine(d1.ToString("C3")); //$12,345.679
Console.WriteLine(d1.ToString("C2", new CultureInfo("zh-CN"))); //¥12,345.68
//D or d 十进制数 范围:整数
//i1 = 31;i2 = -7;
Console.WriteLine("----D or d 十进制数 范围:整数----");
Console.WriteLine(i1.ToString("D")); //31
Console.WriteLine(i1.ToString("D4")); //0031
Console.WriteLine(i2.ToString("D4")); //-0007
//E or e 指数 默认保留6位小数 E后数字即为要保留的小数位数
//d1 = 12345.6789;d2 = 0.0123;
Console.WriteLine("----E or e 指数----");
Console.WriteLine(d1.ToString("E")); //1.234568E+004
Console.WriteLine(d1.ToString("E2")); //1.23E+004
Console.WriteLine(d1.ToString("E5")); //1.23457E+004
Console.WriteLine(d2.ToString("E4")); //1.2300E-002
Console.WriteLine(d2.ToString("E4", new CultureInfo("fr-FR"))); //1,2300E-002
//F or f 定点 默认2位小数 F后数字即为要保留的小数的位数
//i1 = 31; d1 = 12345.6789;
Console.WriteLine("----F or f 定点----");
Console.WriteLine(i1.ToString("F")); //31.00
Console.WriteLine(d1.ToString("F")); //12345.68
Console.WriteLine(d1.ToString("F1")); //12345.7
Console.WriteLine(d1.ToString("F6")); //12345.678900
//N or n 将数字转换为"-d,ddd,ddd.ddd…"形式的字符串
//d1 = 12345.6789;
Console.WriteLine("----N or n 将数字转换为-d,ddd,ddd.ddd…形式的字符串");
Console.WriteLine(d1.ToString("N")); //12,345.68
Console.WriteLine(d1.ToString("N", new CultureInfo("sv-SE"))); //12?345,68
//P or p 百分比格式
//d3 = 0.23;
Console.WriteLine("----P or p 百分比格式----");
Console.WriteLine(d3.ToString("P")); //23.00 %
Console.WriteLine(d3.ToString("P", new CultureInfo("fr-FR"))); //23,00 %
//X or x 十六进制
//i1 = 31
Console.WriteLine("----X or x 十六进制----");
Console.WriteLine(i1.ToString("X")); //1F
Console.WriteLine(i1.ToString("X4")); //001F
//0 零占位符
//i1=31;d4 = 1.55;
Console.WriteLine("----0 零占位符----");
Console.WriteLine(i1.ToString("0000")); //0031
Console.WriteLine(d4.ToString("00")); //02
Console.WriteLine(d4.ToString("00.0")); //01.6
Console.WriteLine(d4.ToString("00.0000"));//01.5500
//# 数字占位符 如果要格式化的值在格式字符串中#对应的位置有一个数字,则此数字被复制到结果字符串中。否则,结果字符串中的此位置不存储任何值。
//"##"格式字符串使得值被舍入到小数点前最近的数字,其中零总被舍去。例如,用"##"格式化 11.5 将得到值 12
//d4 = 1.55;i3=1234567890
Console.WriteLine("----# 数字占位符----");
Console.WriteLine(d4.ToString("##.###")); //1.55
Console.WriteLine(d4.ToString("##.#")); //1.6
Console.WriteLine(d4.ToString("##")); //2
Console.WriteLine(i3.ToString("##")); //1234567890
Console.WriteLine(i3.ToString("#############")); //1234567890
Console.WriteLine(i3.ToString("###-##-#")); //1234567-89-0 从右边开始占位
Console.WriteLine(i3.ToString("(###)####-####"));//(12)3456-7890
//. 在结果字符串中插入本地化的小数分隔符
//d4 = 1.55;d2 = 0.0123;i3 = 1234567890;
Console.WriteLine("----. 在结果字符串中插入本地化的小数分隔符----");
Console.WriteLine(d4.ToString("0.000")); //1.550
Console.WriteLine(d4.ToString(".0")); //1.6
Console.WriteLine(d2.ToString("0.###%")); //1.23%
Console.WriteLine(d2.ToString("0.#%")); //1.2%
Console.WriteLine(i3.ToString("0.###E+0")); //1.235E+9
Console.WriteLine(i3.ToString("0.###E0")); //1.235E9
//, 可同时作为组分隔符
//i3 = 1234567890;
Console.WriteLine("----, 可同时作为组分隔符----");
Console.WriteLine(i3.ToString("#,#")); //1,234,567,890
Console.WriteLine(i3.ToString("####,####")); //1,234,567,890
//% 数字在格式化之前乘以 100
//d2 = 0.0123
Console.WriteLine("----% 数字在格式化之前乘以 100----");
Console.WriteLine(d2.ToString("0.#####%")); //1.23%
Console.WriteLine(d2.ToString("0.#%")); //1.2%
Console.WriteLine(d2.ToString("0.0%")); //1.2%
Console.WriteLine(d2.ToString("0%")); //1%
//E 科学计数法 如果"E"、"E+"、"E-"、"e"、"e+"或"e-"中的任何一个字符串出现在格式字符串中,而且后面紧跟至少一个零,则数字用科学记数法来格式化
//i3 = 1234567890;
Console.WriteLine("---科学计数法 ----");
Console.WriteLine(i3.ToString("0.00E000")); //1.23E009
Console.WriteLine(i3.ToString("0.#E+00")); //1.2E+09
Console.WriteLine(i3.ToString("0.#E-00")); //1.2E09
#endregion
#region
//------------------------------------
//------标准及自定义时间格式字符串----
//------------------------------------
Console.WriteLine("------------------------标准及自定义时间格式字符串---------------------------");
DateTime date = new DateTime(2010, 4, 5, 18, 8, 8, 16);
//d 短日期
Console.WriteLine("d 短日期");
Console.WriteLine(date.ToString("d")); // 4/5/2010
Console.WriteLine(date.ToString("d", new CultureInfo("de-DE"))); // 05.04.2010
//D 长日期
Console.WriteLine("D 长日期");
Console.WriteLine(date.ToString("D")); // Monday, April 05, 2010
Console.WriteLine(date.ToString("D", new CultureInfo("es-MX"))); // lunes, 05 de abril de 2010
//f 完整日期短时间
Console.WriteLine("f 完整日期短时间");
Console.WriteLine(date.ToString("f")); //Monday, April 05, 2010 6:08 PM
//F 完整日期长时间
Console.WriteLine("F 完整日期长时间");
Console.WriteLine(date.ToString("F")); //Monday, April 05, 2010 6:08:08 PM
//g 常规日期短时间
Console.WriteLine("g 常规日期短时间");
Console.WriteLine(date.ToString("g")); // 4/5/2010 6:08 PM
Console.WriteLine(date.ToString("g", DateTimeFormatInfo.InvariantInfo)); // 04/05/2010 18:08
//G 常规日期长时间
Console.WriteLine("G 常规日期长时间");
Console.WriteLine(date.ToString("G")); // 4/5/2010 6:08:08 PM
//M or m 月格式
Console.WriteLine("M or m 月格式");
Console.WriteLine(date.ToString("m")); //April 05
//O or o Round-trip date/time pattern
Console.WriteLine("O or o Round-trip date/time pattern");
Console.WriteLine(date.ToString("o")); // 2010-04-05T18:08:08.0160000
//R or r RFC1123 格式
Console.WriteLine("R or r RFC1123 格式");
Console.WriteLine(date.ToString("r")); // Mon, 05 Apr 2010 18:08:08 GMT
//s 可排序格式
Console.WriteLine("s 可排序格式");
Console.WriteLine(date.ToString("s")); // 2010-04-05T18:08:08
//t 短时间格式
Console.WriteLine("t 短时间格式");
Console.WriteLine(date.ToString("t")); //6:08 PM
//T 长时间格式
Console.WriteLine("T 长时间格式");
Console.WriteLine(date.ToString("T")); //6:08:08 PM
//u 通用可排序格式
Console.WriteLine("u 通用可排序格式");
Console.WriteLine(date.ToString("u")); //2010-04-05 18:08:08Z
//U 通用完整格式
Console.WriteLine("U 通用完整格式");
Console.WriteLine(date.ToString("U")); //Monday, April 05, 2010 10:08:08 AM
//Y or y 年月格式
Console.WriteLine("Y or y 年月格式");
Console.WriteLine(date.ToString("y")); // April, 2010
//d 表示day 1-31
Console.WriteLine("d 表示day 1-31");
Console.WriteLine(date.ToString("d,M")); //5,4
Console.WriteLine(date.ToString("d,MM")); //5,04
Console.WriteLine(date.ToString("d,MMMM")); //5,April
//dd 表示day 01-31
Console.WriteLine("dd 表示day 01-31");
Console.WriteLine(date.ToString("dd,MMM")); //05,Apr
//ddd 表示本地化星期几的缩写
Console.WriteLine("ddd 表示本地化星期几的缩写");
Console.WriteLine(date.ToString("ddd")); //Mon
Console.WriteLine(date.ToString("ddd", new CultureInfo("fr-FR"))); // lun.
//dddd 表示本地化星期几的完全名称
Console.WriteLine("dddd 表示本地化星期几的完全名称");
Console.WriteLine(date.ToString("dddd")); //Monday
Console.WriteLine(date.ToString("dddd", new CultureInfo("zh-CN"))); //星期一
//f or F 表示秒小数部分的最高有效位 F:如果该位(末尾)为零,则不显示任何信息
Console.WriteLine("f or F 表示秒小数部分的最高有效位");
Console.WriteLine(date.ToString("hh:mm:ss.f")); //06:08:08.0
Console.WriteLine(date.ToString("hh:mm:ss.ff")); //06:08:08.01
Console.WriteLine(date.ToString("hh:mm:ss.fff")); //06:08:08.016
Console.WriteLine(date.ToString("hh:mm:ss.ffff"));//06:08:08.0160
Console.WriteLine(date.ToString("hh:mm:ss.FFFF"));//06:08:08.016
//g or gg 时期或纪元
Console.WriteLine("g or gg 时期或纪元");
Console.WriteLine(date.ToString("MM/dd/yyyy g")); //04/05/2010 A.D.
Console.WriteLine(date.ToString("MM/dd/yyyy gg"));//04/05/2010 A.D.
//h 小时表示为从 1 到 12 的数字
Console.WriteLine("h 小时表示为从 1 到 12 的数字");
Console.WriteLine(date.ToString("h:m:s")); //6:8:8
//hh 小时表示为从 01 到 12 的数字
Console.WriteLine("hh 小时表示为从 01 到 12 的数字");
Console.WriteLine(date.ToString("hh:m:s")); //06:8:8
//H 小时表示为从 0 到 23 的数字
Console.WriteLine("H 小时表示为从 0 到 23 的数字");
Console.WriteLine(date.ToString("H:m:s")); //18:8:8
//HH 小时表示为从 00 到 23 的数字
Console.WriteLine("HH 小时表示为从 00 到 23 的数字");
Console.WriteLine(date.ToString("HH:m:s")); //18:8:8
//K 表示日期和时间值的时区信息
Console.WriteLine("K 表示日期和时间值的时区信息");
Console.WriteLine(DateTime.Now.ToString("%K")); //+08:00
Console.WriteLine(DateTime.UtcNow.ToString("%K")); //Z 注:结果字符串"Z"来表示 UTC 日期
//m 将分钟表示为从 0 到 59 的数字
Console.WriteLine("m 将分钟表示为从 0 到 59 的数字");
Console.WriteLine(date.ToString("hh:m:ss")); //06:8:08
//mm 将分钟表示为从 00 到 59 的数字
Console.WriteLine("mm 将分钟表示为从 00 到 59 的数字");
Console.WriteLine(date.ToString("hh:mm:ss")); //06:08:08
//M 将月表示为从 1 到 12 的数字
Console.WriteLine("M 将月表示为从 1 到 12 的数字");
Console.WriteLine(date.ToString("yyyy/M/dd")); //2010/4/05
//MM 将月表示为从 01 到 12 的数字
Console.WriteLine("MM 将月表示为从 01 到 12 的数字");
Console.WriteLine(date.ToString("yyyy/M/dd")); //2010/4/05
//MMM 月份的本地缩写
Console.WriteLine("MMM 月份的本地缩写");
Console.WriteLine(date.ToString("MMM")); //Apr
Console.WriteLine(date.ToString("MMM", new CultureInfo("zh-CN"))); //四月
//MMMM 月份的本地全称
Console.WriteLine("MMMM 月份的本地全称");
Console.WriteLine(date.ToString("MMMM")); //April
Console.WriteLine(date.ToString("MMMM", new CultureInfo("fr-FR"))); // avril
//s 将秒表示为从 0 至 59 的数字
//ss 将秒表示为从 00 到 59 的数字
//t 表示 AM/PM 指示符的第一个字符
Console.WriteLine("t 表示 AM/PM 指示符的第一个字符");
Console.WriteLine(date.ToString("hh:mm:ss t")); //06:08:08 P
//tt 表示整个 AM/PM 指示符
Console.WriteLine("tt 表示整个 AM/PM 指示符");
Console.WriteLine(date.ToString("hh:mm:ss tt"));//06:08:08 PM
//y
Console.WriteLine("y+");
Console.WriteLine(date.ToString("y")); //April, 2010
Console.WriteLine(date.ToString("yy")); //10
Console.WriteLine(date.ToString("yyy"));//2010
Console.WriteLine(date.ToString("yyyy"));//2010
Console.WriteLine(date.ToString("yyyyy"));//02010
//z 表示本地操作系统的时区相对于协调世界时 (UTC) 的有符号偏移量(以小时为单位) 当一个z时,前面必须加 %
Console.WriteLine("z 表示本地操作系统的时区相对于协调世界时(UTC)的有符号偏移量");
Console.WriteLine(DateTime.UtcNow.ToString("%z"));//+8
Console.WriteLine(DateTime.UtcNow.ToString("zz"));//+08
Console.WriteLine(DateTime.UtcNow.ToString("zzz"));//+08:00
#endregion
#endregion
原始URL:http://www.cnblogs.com/Peter-Zhang/articles/1782303.html
作者:
Peter
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.