C#日期时间类型DateTime的字符串输出格式符号及代表模式

一:在C#中DateTime是一个包含日期,时间的类型,此类型通过Tostring()转化为字符串时,可根据传入的Tostring()的参数转化为多种字符串格式。

二:分类

1.DateTime调用Tostring()传入的参数可分为制式和自定义两种:

(1)制式:系统自带的,传入特定的单个字符就可以转换为系统已设定好的格式。

(2)自定义:自由组合日期时间代码(y,M,d,h,m,s,f)来展示丰富的日期格式。

2.制式类型格式来源

在Windows系统中的区域和语言(位置:控制面板→区域和语言)选项中可设置日期和时间的格式。

可设置的类型有:短日期,长日期,短时间,长时间等。调用ToString()进行转化时,许多转换模式都是通过上面4个分类进行组合的。下面是单个字符对照打印出来的。

            string dtNow = DateTime.Now.ToString();
            DateTime dateTime = DateTime.Now;
            Console.WriteLine("< >不带参数的日期格式:
	{0}
", dtNow);
            Console.WriteLine("<d>短日期格式:
	{0}
", dateTime.ToString("d"));
            Console.WriteLine("<D>长日期格式:
	{0}
", dateTime.ToString("D"));
            Console.WriteLine("<f>长日期短时间格式:
	{0}
", dateTime.ToString("f"));
            Console.WriteLine("<F>长日期长时间格式:
	{0}
", dateTime.ToString("F"));
            Console.WriteLine("<g>短日期短时间格式:
	{0}
", dateTime.ToString("g"));
            Console.WriteLine("<G>短日期长时间格式:
	{0}
", dateTime.ToString("G"));
            Console.WriteLine("<m>月日格式:
	{0}
", dateTime.ToString("m"));
            Console.WriteLine("<M>月日格式:
	{0}
", dateTime.ToString("M"));
            Console.WriteLine("<r>RFC1123标准格式:
	{0}
", dateTime.ToString("r"));
            Console.WriteLine("<R>RFC日期格式:
	{0}
", dateTime.ToString("R"));
            Console.WriteLine("<t>短时间格式:
	{0}
", dateTime.ToString("t"));
            Console.WriteLine("<T>长时间格式:
	{0}
", dateTime.ToString("T"));
            Console.WriteLine("<s>日期格式:
	{0}
", dateTime.ToString(""));
            Console.WriteLine("<u>通用日期格式:
	{0}
", dateTime.ToString("u"));
            Console.WriteLine("<U>本初子午线长日期长时间格式:
	{0}
", dateTime.ToString("U"));
            Console.WriteLine("<y>年月格式:
	{0}
", dateTime.ToString("y"));
            Console.WriteLine("<Y>年月格式:
	{0}
", dateTime.ToString("Y"));
            Console.ReadKey();

运行结果为:

下面是自定义格式类型:

 //自定义格式类型:
            //字符符合:y(年),M(月),d(日),h(时),m(分),s(秒),f(毫秒),可以看出只有月是大写的 M ,其他都是小写。
            //yy 年份后两位
            //yyyy 4位年份
            //MM 两位月份
            //mm 分钟数
            //dd 两位日数
            //ddd 周几
            //dddd 星期几
            //hh 12小时的制的小时数
            //HH 24小时的小时数
            //ss 两位秒数
            //ff 毫秒前两位
            //fff 毫秒前三位
            //ffff 毫秒前四位
            //
            //例:
            DateTime dt = DateTime.Now;
            Console.WriteLine("<无参数格式>
{0}", dt.ToString());
            Console.WriteLine("<yy/MM/dd hh:mm:ss ff>
{0}", dt.ToString("yy/MM/dd hh:mm:ss ff"));
            Console.WriteLine("<yyyy-MM-dd hh:mm:ss fff>
{0}", dt.ToString("yyyy-MM-dd hh:mm:ss fff"));
            Console.WriteLine("<yy年MM月dd日 hh:mm:ss ffff>
{0}", dt.ToString("yy年MM月dd日 hh:mm:ss ffff"));
            Console.WriteLine("<yyyy年MM月dd日 dddd 周 ddd hh:mm:ss ff>
{0}", dt.ToString("yyyy年MM月dd日 dddd 周 ddd hh:mm:ss ff"));
            Console.ReadKey();

运行结果为:

原文地址:https://www.cnblogs.com/daitu/p/12725623.html