【发布时间】:2015-12-19 04:59:01
【问题描述】:
我想检查是否有任何指定的时区(我的本地时区除外)在 DST 中。
检查本地时区当前是否是我正在使用的 DST:
Dim today_date As Date = Now.Date
Msgbox(today_date.IsDaylightSavingTime())
我想检查其他时区(“美国东部标准时间”和“新西兰标准时间”)是否在今天的 DST 中。
所以我到目前为止:
Dim AusZoneId As String = "A.U.S. Eastern Standard Time"
Dim AusZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(AusZoneId)
MsgBox(AusZone.SupportsDaylightSavingTime)
'Established True or False if TZ supported DST
我想要做的是输入一个日期(例如今天),看看这个根据澳大利亚东部标准时间的日期是否在 DST。
【问题讨论】:
-
"A.U.S. Eastern Standard Time"不是有效的 Windows 时区标识符。它应该没有句点,如"AUS Eastern Standard Time"。密钥需要完全匹配在HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones的注册表中找到的 ID。 -
谢谢马特。我的价值观来自msdn.microsoft.com/en-us/library/…
-
是的,这个列表已经很老了。 Windows 嵌入式 POS 1.1。此外,这些是名称,而不是 ID。那个时代的 ID 是数字,但在任何地方都不再使用。