Rip*_*les 2 .net vb.net timezone dst
我从网站上找到了以下代码(抱歉,我现在不记得该网站以供参考),但是,它为我提供了计算机的当前时区偏移量。例如,这段代码:
Dim plusminus As String = If((tz.Hours > 0), "+", "-")
Dim NewTimeZone As String = String.Format("{0}{1:00}:{2:00}", plusminus, Math.Abs(tz.Hours), tz.Minutes)
Run Code Online (Sandbox Code Playgroud)
给我 '+09:30' 作为输出。这是完美的。然而,由于夏令时已经生效,相同的代码现在给了我“+10:30”,这实际上是不正确的。
有人可以建议一种更好的方法来正确检索偏移量(在夏令时内外)并以相同的格式返回(+09:30)
提前致谢
如果我理解正确,您想找到 UTC 和当前时间之间的差异,而不管夏令时如何?
如果我是正确的,那么以下将执行您想要的操作:
Dim tzi As TimeZoneInfo = TimeZoneInfo.Local
Dim offset As TimeSpan = tzi.BaseUtcOffset
Dim plus As String = If(offset.TotalMinutes >= 0, "+", "")
Dim newTimeZone As String = String.Format("{0}{1:00}:{2:00}", plus, offset.Hours, offset.Minutes)
Run Code Online (Sandbox Code Playgroud)
+00:00我机器上的输出(我的本地时间是 UTC+1,但我们目前在 DST)
| 归档时间: |
|
| 查看次数: |
3499 次 |
| 最近记录: |