.NET中DateTime时间格式转换(附用户定义格式)
在开发.NET应用程序的时候,会遇到DateTime时间的格式问题,不过对于一般的应用来说,只要设置
System.DateTime.Now.ToString("yyyy-mm-dd hh:mm:ss");
就可以了。
下表显示可用于创建用户定义的日期/时间格式的字符。与早期版本不同,这些格式字符区分大小写。
字符 | 说明 |
---|---|
(:) | 时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由系统的 LocaleID 值确定。 |
(/) | 日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符由您的区域设置确定。 |
(%) | 用于表明不论尾随什么字母,随后字符都应该以单字母格式读取。也用于表明单字母格式应以用户定义格式读取。有关详细信息,请参见下面的内容。 |
d | 将日显示为不带前导零的数字(如 1 )。如果这是用户定义的数字格式中的唯一字符,请使用 %d。 |
dd | 将日显示为带前导零的数字(如 01 )。 |
ddd | 将日显示为缩写形式(例如 Sun )。 |
dddd | 将日显示为全名(例如 Sunday )。 |
M | 将月份显示为不带前导零的数字(如一月表示为 1 )。如果这是用户定义的数字格式中的唯一字符,请使用 %M。 |
MM | 将月份显示为带前导零的数字(例如 01/12/01 )。 |
MMM | 将月份显示为缩写形式(例如 Jan )。 |
MMMM | 将月份显示为完整月份名(例如 January )。 |
gg | 显示时代/纪元字符串(例如 A.D.) |
h | 使用 12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM )。如果这是用户定义的数字格式中的唯一字符,请使用 %h。 |
hh | 使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM )。 |
H | 使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15 )。如果这是用户定义的数字格式中的唯一字符,请使用 %H。 |
HH | 使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15 )。 |
m | 将分钟显示为不带前导零的数字(例如 12:1:15 )。如果这是用户定义的数字格式中的唯一字符,请使用 %m。 |
mm | 将分钟显示为带前导零的数字(例如 12:01:15 )。 |
s | 将秒显示为不带前导零的数字(例如 12:15:5 )。如果这是用户定义的数字格式中的唯一字符,请使用 %s。 |
ss | 将秒显示为带前导零的数字(例如 12:15:05 )。 |
F | 显示秒的小数部分。例如,ff 将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。用户定义格式中最多可使用七个 f 符号。如果这是用户定义的数字格式中的唯一字符,请使用 %f。 |
T | 使用 12 小时制,并对中午之前的任一小时显示大写的 A ,对中午到 11:59 P.M 之间的任一小时显示大写的 P 。如果这是用户定义的数字格式中的唯一字符,请使用 %t。 |
tt | 使用 12 小时制,并对中午之前任一小时显示大写的 AM ;对中午到 11:59 P.M 之间的任一小时显示大写的 PM 。 |
y | 将年份 (0-9) 显示为不带前导零的数字。如果这是用户定义的数字格式中的唯一字符,请使用 %y。 |
yy | 以带前导零的两位数字格式显示年份(如果适用)。 |
yyy | 以四位数字格式显示年份。 |
yyyy | 以四位数字格式显示年份。 |
z | 显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用 %z。 |
zz | 显示带前导零的时区偏移量(例如 -08) |
zzz | 显示完整的时区偏移量(例如 -08:00) |
示例
下列示例用于说明 December 7, 1958, 8:50 PM, 35 seconds
的用户定义的日期和时间格式:
格式 | 显示 |
---|---|
M/d/yy |
12/7/58 |
d-MMM |
7-Dec |
d-MMMM-yy |
7-December-58 |
d MMMM |
7 December |
MMMM yy |
December 58 |
hh:mm tt |
08:50 PM |
h:mm:ss t |
8:50:35 P |
H:mm |
20:50 |
H:mm:ss |
20:50:35 |
M/d/yyyy H:mm |
12/7/1958 20:50 |