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 は、Windows グローバル タイム ゾーン データベースに、地球全体のすべてのタイム ゾーンと DST ルールを格納します。 データベースは、次のサブキーの下の 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 P.M. UTC + (タイム ゾーン オフセットの場合は \u20128 時間) + (DST オフセットの場合は 0 時間) = 7 A.M. Pacific Time

手順 3 - 出席者の Outlook が正規化された UTC 時刻を決定する

出席者のコンピューターで、Outlook は出席者のコンピューター上の Windows グローバル タイム ゾーン データベースに基づいて会議の時刻を正規化し、UTC 時刻を決定します。

会議開始時の UTC = タイム ゾーンのローカル時刻 \u2012 オフセット \u2012 オフセット (DST の場合)

  • 現地時間は午前 7 時 (太平洋時) です (手順 2 の計算に基づく)
  • 作成タイム ゾーン (Pacific) のオフセットは \u20128 です
  • 会議の開始時の太平洋時の DST のオフセットは +1 です
  • 会議の開始時の UTC = 午前 7 時の現地時間 \u2012 (タイム ゾーンの場合は \u20128 時間) \u2012 (DST の場合は 1 時間)

会議開始時の UTC = 午前 7 時 + 8 時間 \u2012 1 時間 = 2 P.M. UTC

手順 4 - 出席者が出席者の時間設定に対してこの予定の正しい時刻を決定する

出席者のコンピューターで、Outlook は Windows の現在のタイム ゾーン設定を使用して UTC をローカル コンピューター時刻に変換します。

ローカル開始時刻 = 会議開始時の UTC + ローカル タイム ゾーンのオフセット + 会議開始時の DST のオフセット

  • 会議開始時の UTC は午後 2 時 (UTC) です (手順 3 の計算に基づく)
  • ローカル タイム ゾーン (東部) のオフセットは \u20125 です
  • ローカル タイム ゾーンの会議開始時の東部時間の DST のオフセットは +1 です

ローカル開始時刻 = 2 P.M. UTC + (タイム ゾーンの場合は \u20125 時間) + DST の場合は 1 時間

これは、東部時間 (出席者のローカル コンピューター時刻) の午前 10 時に相当し、出席者の予定表で会議がスケジュールされている時刻です。

注:

主な問題の 1 つは、出席者のコンピューターで [夏時間の時刻を自動的に調整 する] を選択しない場合、Windows グローバル タイム ゾーン データベースのタイム ゾーン 規則と Windows の現在のタイム ゾーン設定の間で、UTC オフセット (1 時間単位) の不一致が発生する可能性があることです。 [夏時間の時刻を自動的に調整する] を選択するには、[日付と時刻] ダイアログ ボックスで [タイム ゾーンの変更] を選択し、[タイム ゾーンの設定] ダイアログ ボックスを表示します (この手順のスクリーン ショットは次のとおりです)。

[タイム ゾーンの設定] ダイアログ ボックスのスクリーンショット。

夏時間とタイム ゾーンの構成と更新を管理する方法の詳細については、「 夏時間のヘルプとサポート センター」を参照してください。