时区规范化在 Microsoft Outlook 中的工作原理
原始 KB 编号: 2642044
摘要
尽管 时间 似乎是一个简单的人类概念,它让全球的每个人都收到会议请求,然后同时参加会议,但这个概念实际上非常复杂。 本文介绍Microsoft Outlook 2010及更高版本如何使用协调世界时 (UTC) 、时区偏移量、夏令时 (DST) 规则和 Windows 时区设置等项的组合来实现此目标。
更多信息
在了解时区规范化在 Outlook 中的工作原理的详细信息之前,请务必定义一些重要术语。
UTC
UTC 表示协调世界时。 将此视为地球上真正的时间,它 永远不会 改变 (除了这里和那里的小闰秒,以解释行星旋转) 的变化。
有关 UTC 的详细信息,请参阅 协调世界时。
时区偏移量
时区偏移量是地理区域相对于 UTC 的时间。 例如,太平洋时区比 UTC 落后 8 小时。 因此,如果是 UTC 晚上 8 点,则太平洋时区中的时间是中午。
夏令时规则
夏令时规则是某些区域按季节更改其时区偏移量的规则。 这些规则包括 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 发送会议请求。 请求在消息属性中包含以下信息:
会议时间是 UTC 2011 年 11 月 20 日下午 3 点
我的时区是太平洋 (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 是 UTC 下午 3 点。
- 太平洋) 创建时区 (偏移量为 \u20128
- 创建会议时太平洋时间的 DST 偏移量为 0
预期本地时间 = 3 下午 UTC + (\u20128 小时(时区偏移量为) ) + (0 小时(对于 DST 偏移量) = 太平洋时间上午 7 点)
步骤 3 - 与会者的 Outlook 确定规范化 UTC 时间
在与会者的计算机上,Outlook 根据与会者计算机上的 Windows 全局时区数据库规范化会议时间,以确定 UTC 时间。
会议开始时的 UTC = 预期本地时间 \u2012 时区偏移量 \DST 的 u2012 偏移量
- 预期本地时间是上午 7 点,太平洋时间 (基于步骤 2)
- 太平洋) 创建时区 (偏移量为 \u20128
- 会议开始时太平洋时间的 DST 偏移量为 +1
- 会议开始时的 UTC 时间 = 7 A.M. 预期本地时间 \u2012 (\u20128 小时,时区) \u2012 (1 小时,DST)
会议开始时的 UTC = 上午 7 点 + 8 小时 \u2012 1 小时 = 下午 2 点 UTC
步骤 4 - 与会者为与会者的时间设置确定此约会的正确时间
在与会者的计算机上,Outlook 使用 Windows 当前时区设置将 UTC 转换为本地计算机时间。
本地开始时间 = 会议开始时的 UTC 时间 + 本地时区的偏移量 + 会议开始时 DST 的偏移量
- 会议开始时的 UTC 是下午 2 点 UTC (基于步骤 3 中的计算)
- 本地时区 (东部) 的偏移量为 \u20125
- 本地时区会议开始时东部时间 DST 的偏移量为 +1
本地开始时间 = 2 下午 UTC + (\u20125 小时(时区) + DST 为 1 小时)
这相当于上午 10 点东部时间,即与会者的本地计算机时间,这是会议安排在与会者日历上的时间。
注意
一个核心问题是,如果未在与会者的计算机上选择“ 自动调整夏令时时钟 ”,则 WINDOWS 全局时区数据库中的时区规则与 Windows 当前时区设置之间的 UTC 偏移量 () 可能会不匹配一小时。 若要选择“自动调整夏令时时钟”,请在“日期和时间”对话框中选择“更改时区”以显示“时区设置”对话框, (下面列出了此步骤的屏幕截图) 。
有关如何管理夏令时和时区配置和更新的详细信息,请参阅 夏令时帮助和支持中心。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈