1

我有一段代码检查时间,然后根据夏令时值添加小时数。

Dim CommentDateTime as Date = "11/2/2010 8:21:42 PM"
If CommentDateTime.IsDaylightSavingTime Then
   'do something
Else
   'do something else
End If

我遇到的问题是 IsDaylightSavingTime 在生产服务器上的行为与在开发服务器上的行为不同。

在开发服务器上,情况为真,但在生产服务器上,情况为假。

两台服务器都运行相同的操作系统并且都运行 .NET 3.5

我可以向 SA 提供哪些信息来帮助解决我的问题?

更新:

生产服务器位于亚利桑那州,该州不遵守 DST。我只关心知道某个日期/时间是否是美国其他地区的 DST 确实遵守它。

这是我解决问题的方法:

If TimeZoneInfo.FindSystemTimeZoneById("Pacific StandardTime").IsDaylightSavingTime(CommentDateTime) Then
     'Do something
Else
     'Do something else
End If

我的应用程序只处理位于美国的位置,所以这应该可以解决问题。

4

2 回答 2

2

夏令时是根据服务器的区域设置计算的。您的开发箱可能与您的生产箱具有不同的区域设置。

于 2010-11-02T21:58:11.297 回答
1

希望这会奏效:

Dim CommentDateTime as Date = "11/2/2010 8:21:42 PM" TimeZone.CurrentTimeZone.IsDaylightSavingTime(CommentDateTime)

祝你好运!

于 2010-11-03T02:35:15.407 回答