如何确定本地时间是否已调整为夏令时?

4

如何判断本地时间是否进行了夏令时调整?

如何确认机器上的本地时间是否正确?

我知道这些问题看起来很奇怪和愚蠢(假设没有互联网连接),但你永远不知道!!


如果您有多个,可以进行比较。假设您不只是匆匆看一眼手表。 :) - Tony Hopkinson
谢谢Tony..你能再详细解释一下吗? - user441660
1
互联网访问是无关紧要的。你所做的是获取一个可信赖的时间来与不可信赖的时间进行比较。因此,为了比较时间,你需要一个你可以信任的网络上的机器。如果你有一个这样的机器,你可以设置一个时间服务器,再也不用担心这些问题了... - Tony Hopkinson
谢谢。我喜欢这个想法。像Reed建议的那样,使用可信的时间服务器+ TimeZoneInfo.Local.IsDaylightSavingsTime(DateTime.Now)。 - user441660
2个回答

6

谢谢Reed。但是根据MSDN,“指示指定的日期和时间是否落在当前TimeZoneInfo对象的时区的夏令时范围内。”所以它实际上并没有告诉我它是否被调整了? - user441660
如果您想确定当前时间是否已调整,可以使用此方法(因为我正在提供“DateTime.Now”)。该方法允许您检查任何特定日期是否应进行调整 - 如果传递“now”,则可以检查当前时间是否设置为进行调整。 - Reed Copsey

0

我发现大多数夏令时的实现在计算时间时会从GMT偏移中加/减去一小时,例如,悉尼澳大利亚没有夏令时时为+10 GMT,有夏令时时为+11 GMT。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接