我试图弄清楚我的计算机上使用的时间格式是 12 小时格式还是 24 小时格式,并找到了这个解决方案:
Dim strFormat As String = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern
Run Code Online (Sandbox Code Playgroud)
结果是 yyyy'?'M'?'d'?' H:mm:ss
我在这个H:mm:ss
和这个之间感到困惑HH:mm:ss
显示时间的格式有什么不同吗?
显示时间的格式有什么不同吗?
是的。
HH
是24小时,以用于小时前导零0-9
。H
是 24 小时,小时数没有前导零0-9
。
H
不符合 ISO 8601。ISO 8601 需要带前导零的 2 位日期和时间组件。所以如果当前时间是0945h
那么H:mm
将渲染9:45
。
所以如果当前时间是0945h
那么HH:mm
将渲染09:45
。
所以如果当前时间是1945h
那么H:mm
将渲染19:45
。
所以如果当前时间是1945h
那么HH:mm
将渲染19:45
。
其他重要说明:
M
并且MM
是几个月,而不是几分钟。m
并且mm
是几分钟而不是几个月。
m
,所以总是使用mm
!h
是 12 小时制,没有前导零。
h
您必须使用tt
来表示 AM/PM,否则您将有不明确的输出。hh
是 12 小时制,带前导零。
hh
因为(我相信)今天人们期望使用 24 小时制的两位数时间。h
,您还必须使用tt
以避免 AM/PM 歧义。