DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期。以下把一些情况罗列出来,供大家参考。有些在MSDN上有的就没有列出来了。

1.         y代表年份,注意是小写的y,大写的Y并不代表年份。

2.         M表示月份。

3.         d表示日期,注意D并不代表什么。

4.         h或H表示小时,h用的是12小时制,H用的是24小时制。

5.         m表示分钟。

6.         s表示秒。注意S并不代表什么。



格式



输出



示例





y



7



string yy = DateTime.Now.ToString("y-MM")

yy="7-05"



yy



07



string yy = DateTime.Now.ToString("yy-MM")

yy="07-05"



yyy或更多的y



1984



string yy = DateTime.Now.ToString("yyyy");

yy="2007"





M



5.



string mon = DateTime.Parse("1984-05-09")ToString("yyyy-M")

mon = "1984-5"



MM



05.



string mon = DateTime.Parse("1984-05-09")ToString("MM")

mon = "05"



MMM



如果是中文版的操作系统,则会输出:五月.

如果是英文操作系统,则输入月份前三个字母的简写:May



string mon = DateTime.Parse("2006-07-01").ToString("MMM")

英文版操作系统:Jul

中文版操作系统:七月



MMMM或更多的M



如果是中文版的操作系统,则会输出:五月.

如果是英文操作系统,则输入月份的全写



string mon = DateTime.Parse("2006-07-01").ToString("MMM")

英文版操作系统:July

中文版操作系统:七月



日期或星期



d



9



string dd= DateTime.Parse("1984-05-09")ToString("d")

dd= "9"

 



dd



09



string dd= DateTime.Parse("1984-05-09")ToString("dd")

dd= "09"



ddd



如果是中文版的操作系统,则会输出星期,如星期三。.

如果是英文操作系统,则输出星期的简写:如

Wed



string dd = DateTime.Parse("2006-07-01").ToString("ddd")

英文版操作系统:Wed

中文版操作系统:星期三



dddd或更多的d



如果是中文版的操作系统,则会输出星期,如星期三。.

如果是英文操作系统,则输出星期:如

Wednesday



string dd = DateTime.Parse("2006-07-01").ToString("dddd")

英文版操作系统:Wednesday

中文版操作系统:星期三



小时



h



小时范围:1-12



string hh = DateTime.Now.ToString(“h”);

hh = 8



hh或更多的h



小时范围:1-12



string hh = DateTime.Now.ToString(“hh”);

hh = 08



H



小时范围:0-23



string hh = DateTime.Now.ToString(“yyyy-H”);

hh = 2006-8



HH或更多的H



小时范围:0-23



string hh = DateTime.Now.ToString(“yyyy-HH”);

hh = 2006-08

string hh = DateTime.Pare(“2006-7-4 18:00:00”).ToString(“yyyy-HH”);

hh = 2006-18



分钟



m



6



string mm =  DateTime.Now.ToString("yyyy-MM-dd-m");

mm = “2006-07-01-6”;



mm或更多的m



06



string mm =  DateTime.Now.ToString("yyyy-MM-dd-mm");

mm = “2006-07-01-06”;





s



6



string mm =  DateTime.Now.ToString("yyyy-MM-dd-s");

mm = “2006-07-01-6”;



ss或更多的s



06



string mm =  DateTime.Now.ToString("yyyy-MM-dd-ss");

mm = “2006-07-01-06”;