我有一段代码可以检查时间,然后根据夏令时值增加小时数。
Dim CommentDateTime as Date = "11/2/2010 8:21:42 PM"
If CommentDateTime.IsDaylightSavingTime Then
'do something
Else
'do something else
End If
我遇到的问题是IsDaylightSavingTime在生产服务器上的行为与在开发时的行为不同。
在开发服务器上,大小写为TRUE,但在生产中它是错误的。
两台服务器都运行相同的操作系统,并且都运行.NET 3.5
我可以向SA提供哪些信息以帮助解决我的问题?
更新
生产服务器位于亚利桑那州,这是一个不遵守DST的州。我只关心知道某个日期/时间是美国其他地区的DST确实观察到它。
以下是我解决问题的方法:
If TimeZoneInfo.FindSystemTimeZoneById("Pacific StandardTime").IsDaylightSavingTime(CommentDateTime) Then
'Do something
Else
'Do something else
End If
我的应用程序只处理位于美国的地点,所以这应该可以解决问题。
答案 0 :(得分:2)
夏令时根据服务器的区域设置计算。您的开发箱可能与您的生产箱有不同的区域设置。
答案 1 :(得分:1)
希望这会奏效:
Dim CommentDateTime as Date = "11/2/2010 8:21:42 PM"
TimeZone.CurrentTimeZone.IsDaylightSavingTime(CommentDateTime)
祝你好运!