Formatting Types

#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

你可能感兴趣的:(format)