Microsoft Outlook でのタイム ゾーン正規化のしくみ
元の KB 番号: 2642044
概要
時間は、世界中の誰もが会議出席依頼を受け取り、同時に会議に出席できるようにする単純な人間の概念のように見えるかもしれませんが、概念は実際には非常に複雑です。 この記事では、協定世界時 (UTC)、タイム ゾーン オフセット、夏時間 (DST) ルール、Windows タイム ゾーン設定などの項目を組み合わせて使用して、Microsoft Outlook 2010以降のバージョンでこの目標を達成する方法について説明します。
詳細
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 規則のセットは 1 つだけです。 Windows の現在の時刻には、コンピューター上の時刻の計算に現在使用されている一連のルールが格納されます。
Windows の現在のタイム ゾーン設定は、次のサブキーの下の Windows レジストリに格納されます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
コンピューターの時刻
コンピューターの時刻は、通知領域の次のスクリーンショットに示すように、Windows によって表示される実際の時刻です。
Windows 通知領域のこの部分を選択すると、拡張予定表と時計が表示されます。
[日付と時刻の設定の変更] を選択して、コンピューターの現在のタイム ゾーン設定を確認できます (この手順のスクリーンショットは以下のとおりです)。
コンピューター時間の計算方法
コンピューターの時刻は、UTC 時間を取り、コンピューター用に構成されたタイム ゾーンに基づくオフセットを追加し、必要に応じて夏時間のオフセットを調整することによって計算されます (DST 規則に応じて)。 コンピューター時間の計算に使用される数式は次のとおりです。
UTC + タイム ゾーン オフセット + DST オフセット
この方法は、人々が時間の概念について考える方法を表していることに注意してください。 この方法は世界標準であり、Microsoft がコンピューターに時間を実装する方法です。
Outlook が予定表アイテムのタイム ゾーン オフセットと DST ルールを処理する方法
同じ会議出席依頼を持つ 2 人が同時に会議に出席することを確認する単純なタスクのように思える場合があります。 ただし、夏時間ルールが異なるタイム ゾーンが変化するシナリオを追加すると、計算が複雑になります。
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 から会議出席依頼が送信されます。 要求には、メッセージ プロパティに次の情報が含まれています。
会議は 2011 年 11 月 20 日午後 3 時 (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 です
- 作成タイム ゾーン (Pacific) のオフセットは \u20128 です
- 会議作成時の太平洋時間の DST のオフセットは 0 です
目的の現地時刻 = 午後 3 時 UTC + (タイム ゾーン オフセットの場合\u20128 時間) + (DST オフセットの場合は 0 時間) = 太平洋標準時
手順 3 - 出席者の Outlook が正規化された UTC 時刻を決定する
出席者のコンピューターでは、Outlook は、出席者のコンピューター上の Windows グローバル タイム ゾーン データベースに基づいて会議の時刻を正規化し、UTC 時刻を決定します。
会議の開始時の UTC = DST のタイム ゾーン \u2012 オフセットの目的のローカル時刻 \u2012 オフセット
- 対象の現地時刻は太平洋時間 (手順 2 の計算に基づく) 午前 7 時です
- 作成タイム ゾーン (Pacific) のオフセットは \u20128 です
- 会議開始時の太平洋時間の DST のオフセットは +1 です
- UTC at meeting start = 7 A.M.tended local time \u2012 (タイム ゾーンの場合\u20128 時間) \u2012 (DST の場合は 1 時間)
会議開始時の 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 時 (東部標準時)、出席者のローカル コンピューター時刻に相当し、会議が出席者の予定表にスケジュールされる時刻です。
注:
1 つの主要な問題は、出席者のコンピューターで [夏時間の時計を自動的に調整 する] を選択しない場合、Windows グローバル タイム ゾーン データベースのタイム ゾーン ルールと Windows の現在のタイム ゾーン設定の間で UTC オフセット (1 時間オフ) が一致しない可能性があることです。 [夏時間の時計を自動的に調整する] を選択するには、[日付と時刻] ダイアログ ボックスで [タイム ゾーンの変更] を選択して [タイム ゾーンの設定] ダイアログ ボックスを表示します (この手順のスクリーン ショットを次に示します)。
夏時間とタイム ゾーンの構成と更新プログラムを管理する方法の詳細については、「 夏時間のヘルプとサポート センター」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示