【发布时间】:2016-05-04 02:06:09
【问题描述】:
各位程序员。最近,当 DST 应用于我的 asp.net 应用程序时,我遇到了一个问题。
最初,我的日期时间转换器如下:
Private Function ConvertTimezone(convertDatetime As DateTime, zoneID As String) As DateTime
Dim timeZoneInfo As TimeZoneInfo = System.TimeZoneInfo.FindSystemTimeZoneById(zoneID)
Dim dataTimeByZoneId As DateTime = System.TimeZoneInfo.ConvertTime(convertDatetime, System.TimeZoneInfo.Local, timeZoneInfo)
Return dataTimeByZoneId
End Function
正如我所料,它运行顺利。但是,当夏令时开始时,所有的东西似乎都走错了路,因为我列出了选择为 UTC - 12 到 UTC + 12 的选项,方法是获取标准时间并使用上面的代码进行转换。
例如,我面临的问题是在 DST 之前的小时变化,我的 UTC - 5 来自大西洋标准时间,但在 DST 之后,它现在返回 UTC - 4 作为 .NET 自行转换。从那时起,下拉菜单就出错了。
有没有办法关闭 DST 调整?或任何其他解决方法可以补充偏移量? (不允许使用其他图书馆,对不起各位..)
【问题讨论】: