为什么 IsDaylightSavingTime 返回不同的值?

发布于 2024-09-30 04:49:32 字数 726 浏览 3 评论 0原文

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

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 提供哪些信息来帮助解决我的问题?

更新:

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

以下是我解决问题的方法:

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

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

I have a piece of code that checks a time and then adds hours based on the daylight savings time value.

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

The problem that I'm having is that IsDaylightSavingTime behaves differently on the production server than it does on the development.

On the development server the case is TRUE, but on the production it is false.

Both servers are running the same OS and are both running .NET 3.5

What information can I give to the SA to help troubleshoot my issue?

UPDATE:

The production server is in Arizona, a state that does not observe DST. I'm only concerned with knowing if a certain date/time is DST in the rest of the US that does observe it.

Here's how I fixed the problem:

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

My application only deals with locations located in the US, so this should do the trick.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

太阳哥哥 2024-10-07 04:49:32

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

Daylight savings is calculated based on the regional settings of the server. Your dev box probably has different regional settings to your production box.

嘿咻 2024-10-07 04:49:32

希望这会起作用:

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

祝你好运!

Hope this will work:

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

Good Luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文