如何查看指定时区的夏令时状态



我想检查是否有任何指定的时区(除了我的本地时区)在夏令时。

检查本地时区当前是否为夏令时,我使用:

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, KindUtc

相关内容

  • 没有找到相关文章