日期对象(Date类型)的ToString方法可以用如下格式符来决定一个日期时间值的显示格式:
(1)标准格式符:用单一字母来决定一个标准格式(显示结果依赖计算机上的区域设置)。
格式符
解释
举例
D
长日期格式,包括星期几
Monday, August 20, 2012
d
短日期格式
8/20/2012
t
短时间格式
2:37 PM
T
长时间格式
2:37:18 PM
f
完全日期时间短时间格式
Monday, August 20, 2012 2:37 PM
F
完全日期时间长时间格式
Monday, August 20, 2012 2:37:18 PM
g
常见日期时间短时间格式
8/20/2012 2:37 PM
G
常见日期时间长时间格式
8/20/2012 2:37:18 PM
m或M
月日格式
August 20
r或R
RFC1123格式。格式化不会把时间转换为
Greenwich Mean Time(GMT),所以你应该在格式化前将本地时间转换为GMT。
Mon, 20 Aug 2012 14:37:18 GMT
S
可排序国际化标准ISO8601日期时间格式
2009-08-05T15:11:23
u
协调世界时格式。通用可排序,格式化日期和时间时不进行时区转换。格式化不会把时间转换为协调世界时,所以你应该在格式化前将本地时间转换为UTC。
2012-08-20 14:37:18Z
U
协调世界时完全格式。这是完全的协调世界时格式,不是本地时间格式。
Monday, August 20, 2012 9:37:18 PM
y或Y
年月格式
August 2012
(2)日期占位格式符
时间
格式符号
举例
日
d单数日, dd双数日
ddd周日缩写, dddd周日全名
4,04
Wed, Wednesday
月
M单数月, MM双数月, MMM月份缩写, MMMM月份全名
3,03,Mar,March
年
y年份表示为一位或两位数字
yy 双数年 yyyy四数年
Dim date1 As Date = #12/1/0001#
date1.ToString("%y") 显示为1
12全时
h 单数小时 hh 双数小时
3,03
24全时
H 单数小时 HH 双数小时
15,15
分钟
m 单数分钟 mm 双数分钟
3,03
秒
s 单数秒 ss 双数秒
3,03
秒的小数位
秒部分的最高有效位。可以用一到七个f表示秒的小数位。
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
date1.ToString("hh:mm:ss.ff", ci)) 显示为07:27:15.01
date1.ToString("hh:mm:ss.fff", ci)) 显示为07:27:15.018
时区偏差
(-12到+13的GMT小时)
z表示本地操作系统的时区相对于协调世界时(UTC)的有符号偏移量(以小时为单位)。偏移量始终显示为带有前导符号:+指示早于UTC的小时数,减号指示晚于UTC的小时数。一位数字的偏移量设置为不带前导零的格。
zz双数时区偏差
zzz 小时分钟双数时区偏差
Dim date1 As Date = Date.UtcNow
String.Format("{0:%z}, {0:zz}, {0:zzz}", date1))
显示为-7,-07, -07:00
公元
g 或
Dim date1 As Date=#08/04/0070#
date1.ToString("MM/dd/yyyy g"))
显示为 08/04/0070 公元
am/pm标识符
t 单字母
tt 双字母
date1 = #6:09:01PM#
date1.ToString("h:m:s.F t") 显示为6:09:01 P
分割符
: 时间分割符
/ 日期分割符
Dim date1 As Date = #09/04/2001 08:04:07#
躲避符
“ ”或’ ‘ 或 \
Dim date1 As Date = #09/04/2001#
date1.ToString("\日期为MM/dd/yyyy")
显示为:日期为09/04/2001
自定义格式符
% 有的标准格式符和自定义格式符为同字母,为了区分在自定义格式符前用%标志
Now.ToString(“d”) 显示为 2/20/2012短日期格式
Now.ToString(“%d”) 显示为20日
(更多语法基础知识见本人的视频课程《VB .NET 编程语法知识 ( Visual Basic 2022 )》)