1. 分类
DateTime调用ToString()传入的参数可分为制式和自定义两种:
1) 制式:系统自带的,转入特定的单个字符就可转换为系统已设定好的格式。
2) 自定义:自由组合日期代码(y、M、d、h、m、s、f)来展示丰富的日期格式。
2. 制式类型
说明:转入特定的单个字符就可转换为系统已设定好的格式。
2.1 格式来源
在Windows系统中的区域和语言(位置:控制面板 → 区域和语言)选项中可设置日期和时间的格式。
可设置的分类有:短日期、长日期、短时间、长时间等。
调用ToString()进行转换时,许多转换方式都是通过上面的4个分类进行组合。
2.2 符号对照表
2.2.1 环境
.net版本:4.0
系统版本:Win7
格式信息:
2.2.2 对照表
符号
语法
示例(2016-05-09 13:09:55:2350)
格式说明
y
DateTime.Now.ToString()
2016/5/9 13:09:55
短日期 长时间
d
DateTime.Now.ToString("d")
2016/5/9
短日期
D
DateTime.Now.ToString("D")
2016年5月9日
长日期
f
DateTime.Now.ToString("f")
2016年5月9日 13:09
长日期 短时间
F
DateTime.Now.ToString("F")
2016年5月9日 13:09:55
长日期 长时间
g
DateTime.Now.ToString("g")
2016/5/9 13:09
短日期 短时间
G
DateTime.Now.ToString("G")
2016/5/9 13:09:55
短日期 长时间
t
DateTime.Now.ToString("t")
13:09
短时间
T
DateTime.Now.ToString("T")
13:09:55
长时间
u
DateTime.Now.ToString("u")
2016-05-09 13:09:55Z
U
DateTime.Now.ToString("U")
2016年5月9日 5:09:55
本初子午线的长日期和长时间
m
DateTime.Now.ToString("m")
5月9日
M
DateTime.Now.ToString("M")
5月9日
r
DateTime.Now.ToString("r")
Mon, 09 May 2016 13:09:55 GMT
R
DateTime.Now.ToString("R")
Mon, 09 May 2016 13:09:55 GMT
y
DateTime.Now.ToString("y")
2016年5月
Y
DateTime.Now.ToString("Y")
2016年5月
o
DateTime.Now.ToString("o")
2016-05-09T13:09:55.2350000
O
DateTime.Now.ToString("O")
2016-05-09T13:09:55.2350000
s
DateTime.Now.ToString("s")
2016-05-09T13:09:55
2.3 示例图
2.4 win2003版本
在Win2003默认中的无字符、d、g、G格式中会用'-'符号替代'/'符号(短日期格式为:yyyy-m-d)。
3. 自定义格式类型
开发人员可通过英文字符(y、M、d、h、m、s、f) 分别代替(年、月、日、时、分、秒、毫秒)来自由组合日期时间格式。
3.1 符号对照表
.net版本:4.0
系统版本:Win7
符号
说明
语法
示例(2016-05-09 13:09:55:2350)
yy
年份后两位
DateTime.Now.ToString("yy")
DateTime.Now.ToString("yy"); // => 16
yyyy
4位年份
DateTime.Now.ToString("yyyy")
DateTime.Now.ToString("yyyy"); // => 2016
MM
两位月份;单数月份前面用0填充
DateTime.Now.ToString("MM")
DateTime.Now.ToString("MM"); // => 05
dd
日数
DateTime.Now.ToString("dd")
DateTime.Now.ToString("dd"); // => 09
ddd
周几
DateTime.Now.ToString("ddd")
DateTime.Now.ToString("ddd"); // => 周一
dddd
星期几
DateTime.Now.ToString("dddd")
DateTime.Now.ToString("dddd"); // => 星期一
hh
12小时制的小时数
DateTime.Now.ToString("hh")
DateTime.Now.ToString("hh"); // => 01
HH
24小时制的小时数
DateTime.Now.ToString("HH")
DateTime.Now.ToString("HH"); // => 13
mm
分钟数
DateTime.Now.ToString("mm")
DateTime.Now.ToString("mm"); // => 09
ss
秒数
DateTime.Now.ToString("ss")
DateTime.Now.ToString("ss"); // => 55
ff
毫秒数前2位
DateTime.Now.ToString("ff")
DateTime.Now.ToString("ff"); // => 23
fff
毫秒数前3位
DateTime.Now.ToString("fff")
DateTime.Now.ToString("fff"); // => 235
ffff
毫秒数前4位
DateTime.Now.ToString("ffff")
DateTime.Now.ToString("ffff"); // => 2350
分隔符
可使用分隔符来分隔年月日时分秒。
包含的值可为:-、/、:等非关键字符
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); // => 2016-05-09 13:09:55:2350
DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff"); // => 2016/05/09 13:09:55:2350
DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff dddd"); // => 2016/05/09 13:09:55:2350 星期一
3.2 示例图