时区规范化在 Microsoft Outlook 中的工作原理

原始 KB 编号:   2642044

摘要

尽管 时间 看起来像是一个简单的人类概念,让世界各地的每个人都可以接收会议请求,然后同时参加会议,但概念实际上非常复杂。 本文介绍 Microsoft Outlook 2010 及更高版本如何使用协调世界时 (UTC) 、时区偏移、夏令时 (DST) 规则和 Windows 时区设置等项的组合来实现此目标。

更多信息

在检查时区规范化在 Outlook 中的工作方式的详细信息之前,必须定义一些重要的术语。

  • UTC

    UTC 表示协调世界时。 将此时间视为在行星上永不改变的真正时间 (此处和此处的次要跳跃秒除外,用于说明行星的旋转方向) 。

    有关 UTC 的信息,请参阅 协调世界时

  • 时区偏移

    时区偏移量是地理区域相对于 UTC 的时间。 例如,太平洋时区比 UTC 晚 8 小时。 因此,如果它是下午 8 点 UTC,太平洋时区的时间是中午。

  • 夏令时规则

    夏令时规则是某些区域通过季节性更改其时区偏移量的规则。 这些规则包括 DST 时段的开始日期和结束日期以及时区偏移的小时数。 例如,在夏时,太平洋时区的时间可以计算为 UTC \u2012 7 小时,而对于其余年份,时间的计算公式为 UTC \u2012 8 小时。

  • Windows 全局时区数据库

    Windows 将整个区域的所有时区和 DST 规则存储在 Windows 全局时区数据库中。 数据库存储在 Windows 注册表中的以下子项下:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

  • Windows 当前时区设置

    Windows 当前时区设置是 Windows 当前用于确定计算机时间的设置。 在 Windows 全局时区数据库中的所有规则中,只能应用一组 DST 规则。 Windows 当前时间存储当前用于计算计算机上时间的规则集。

    Windows 当前时区设置存储在 Windows 注册表中的以下子项下:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

  • 计算机时间

    计算机时间是 Windows 显示的实际时间,如以下通知区域屏幕截图中所示。

    通知区域屏幕截图

    如果你选择 Windows 通知区域中的这一部分,将显示增强的日历和时钟。

    显示增强的日历和时钟的屏幕截图

    可以选择"更改日期和时间设置"来检查计算机的当前时区设置 (此步骤的屏幕截图将在下面) 。

    选择"更改日期和时间设置"

计算计算机时间的方法

计算计算机时间的方法如下:采用 UTC 时间,添加基于为计算机配置的时区的偏移,然后根据需要根据 DST 规则调整夏令时 (的偏移量) 。 用于计算计算机时间公式如下所示:

UTC + 时区偏移 + DST 偏移

请注意,此方法表示人们如何同意考虑时间概念。 此方法是一个世界标准,也是 Microsoft 在计算机上实现时间的方式。

Outlook 如何处理日历项中的时区偏移和 DST 规则

确保两个拥有相同会议请求的人同时参加会议可能是一项简单的任务。 但是,当您添加使用不同夏令时规则更改时区的方案时,计算将变得复杂。

若要了解 Outlook 如何处理这种情况,请考虑以下方案:

  • 会议组织者具有以下 Windows 当前时区设置:

    太平洋时区 (UTC\u20128;DST 从 2011 年 3 月 13 日开始;DST 将于 2011 年 11 月 6 日)

  • 与会者具有以下 Windows 当前时区设置:

    东部时区 (UTC\u20125;DST 从 2011 年 3 月 13 日开始;DST 将于 2011 年 11 月 6 日)

  • 会议组织者将 2011 年 11 月 20 日下午 7 点在日历上创建一个会议。

步骤 1 - 组织者发送包含时区信息的会议请求

在组织者的计算机上,将创建请求中的会议,以在上午 7 点开始。

在组织者的计算机上,Outlook 发送会议请求。 请求在邮件属性中包含以下信息:

会议在下午 3 点 2011 年 11 月 20 日 UTC
我的时区是太平洋 (UTC\u20128)
DST 从 2011 年 3 月 13 日开始,DST 在 2011 年 11 月 6 日结束,偏移量为 +1

会议创建后,政府规定新法律根据这项法律,在太平洋时区,DST 从 2011 年 2 月 2 日开始,到 2011 年 12 月 1 日结束。 由于存在新的时区规则,并且约会属于应用新时区规则的时间段,因此在步骤 2 和步骤 3 (规范化) 。 此规范化如下图所示。

规范化图

步骤 2 - 与会者的 Outlook 确定预期的本地时间

在与会者计算机上,Outlook 根据会议请求中包含的信息计算预期的会议本地时间:

预期的本地时间 = 会议创建时 UTC + 时区偏移量 + 会议创建时 DST 的偏移量

  • 会议创建时 UTC 为下午 3 点 UTC
  • 太平洋区域创建时区的偏移 (为 \u20128) 为 \u20128
  • 创建会议时 DST 的偏移量为 0

预期的本地时间 = 下午 3 点 UTC + (\u20128 hours for time zone offset) + (0 hours for DST offset) = 7 A.M. 太平洋时间

步骤 3 - 与会者的 Outlook 确定标准化 UTC 时间

在与会者的计算机上,Outlook 根据与会者计算机上 Windows 全局时区数据库对会议时间进行规范化,以确定 UTC 时间。

会议开始时间的 UTC = 时区的预期本地时间 \u2012 偏移量 \u2012 DST 的偏移

  • 预期的本地时间为上午 7 点。 太平洋时间 (步骤 2 中的计算结果)
  • 太平洋区域创建时区的偏移 (为 \u20128) 为 \u20128
  • 会议开始时 DST 的偏移量为 +1
  • 会议开始时间 UTC = 上午 7 点 时区) \u2012 的预定本地时间 \u2012 (\u2012 (1 小时,对于 DST)

会议开始时间 UTC = 上午 7 点 + 8 小时 \u2012 1 小时 = 2 P.M. UTC

步骤 4 - 与会者确定此约会的与会者时间设置的正确时间

在与会者的计算机上,Outlook 使用 Windows 当前时区设置将 UTC 转换为本地计算机时间。

本地开始时间 = 会议开始时的 UTC + 本地时区的偏移量 + 会议开始时 DST 的偏移

  • 会议开始时的 UTC 为下午 2 点。 UTC (步骤 3 中的计算结果)
  • 东部和东部的本地时区 (偏移量) \u20125
  • 本地时区会议开始时 DST 的偏移量为 +1

本地开始时间 = 下午 2 点 UTC + (\u20125 hours for time zone) + 1 hour for DST

这相当于上午 10 点。 东部时间,与会者的本地计算机时间,这是在与会者的日历上安排会议的时间。

备注

一个核心问题是,如果未选择与会者计算机上"自动调整夏令时的时钟",则 Windows 全局时区数据库中的时区规则与 Windows 当前时区设置之间的 UTC 偏移量 (可能不匹配一小时) 。 若要选择 "自动 调整夏令时的时钟",请选择"日期和时间"对话框中的"更改时区",以显示"时区设置"对话框 (此步骤的"屏幕截图"列于) 。

选择"更改日期和时间"

若要详细了解如何管理夏令时和时区配置和更新,请参阅 夏令时帮助和支持中心