夏令时期间在耶路撒冷时区的 Windows Vista 中使用 System.TimeZone 属性时,会出现一小时的误差

本文已归档。它按“原样”提供,并且不再更新。
症状
在 Windows Vista 中使用 Microsoft .NET Framework 2.0 时,DateTime.Now 属性显示的结果可能会有一小时的误差。满足以下条件时,将出现此问题:
  • Windows Vista 被配置为使用耶路撒冷时区。
  • 月份包含夏令时 (DST) 过渡。
例如,在 2007 年,DateTime.Now 属性错误地将 DST 报告为提前 5 天开始(3 月 25 日而非 3 月 30 日开始)。此外,DateTime.Now 属性还错误地将 DST 报告为晚 14 天结束(9 月 30 日而非 9 月 16 日结束)。

因此,在耶路撒冷时区中,Windows Vista 中运行的 .NET Framework 程序(如 Windows Media Center)在这些时间段内将会有一小时的误差。
原因
出现此问题的原因是:对于耶路撒冷时区,Windows Vista 使用固定日期的时区规则。System.TimeZone.CurrentTimeZone 属性无法正确处理固定日期的规则。System.TimeZone.CurrentTimeZone 属性需要所有过渡日期均为浮动(相对)时间。例如,System.TimeZone.CurrentTimeZone 属性需要的过渡日期格式为:
Nth day_of_the_ week in month
注意:在 Windows Vista 中,耶路撒冷时区是唯一使用固定日期规则的时区。
解决方案
本更新根据 Windows Vista 许可协议条款授权使用。

更新信息

可以从 Microsoft 下载中心下载以下文件:

32 位版本的 Windows Vista

下载立即下载 KB940716 程序包。

64 位版本的 Windows Vista

下载立即下载 KB940716 程序包。

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以帮助防止在未经授权的情况下对其进行任何更改。

先决条件

必须安装 Microsoft .NET Framework 2.0 才能应用此更新。

重新启动要求

安装此更新之后,无须重新启动计算机。

更新替代信息

此更新不替代任何其他更新。
状态
Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。
更多信息
有关软件更新术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 有关用于描述 Microsoft 软件更新标准术语的介绍
属性

文章 ID:940716 - 上次审阅时间:01/16/2015 09:45:47 - 修订版本: 1.5

Windows Vista Home Basic 64-bit edition, Windows Vista Business 64-bit edition, Windows Vista Ultimate 64-bit edition, Windows Vista Home Premium 64-bit edition, Windows Vista Enterprise 64-bit edition, Windows Vista Ultimate, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Enterprise, Windows Vista Business

  • kbnosurvey kbarchive kbvistasp1fix kbbug atdownload kbwinvistapostrtmfix kbfix kbqfe kbpubtypekc KB940716
反馈