我想检查是否有任何指定的时区(除了我的本地时区)在夏令时。
检查本地时区当前是否为夏令时,我使用:
Dim today_date As Date = Now.Date
Msgbox(today_date.IsDaylightSavingTime())
我想检查一下其他时区("美国东部标准时间"one_answers"新西兰标准时间")是否按照今天的日期属于夏令时。
目前为止我写的是:
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。
您不应该对日期这样做,因为这可能是模棱两可的(标准时间的一天开始和日光时间的一天结束,反之亦然),而是询问特定的时间点是否在日光时间:
Dim zoneId As String = "AUS Eastern Standard Time";
Dim zone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(zoneId)
Dim dst As Boolean = zone.IsDaylightSavingTime(DateTime.UtcNow)
(当然,也可以使用其他时间点)我强烈建议你通过DateTime
, Kind
为Utc
。