タイム・ゾーンの設計

タイム・ゾーン・エンティティは、顧客が事業を展開している可能性があるすべてのタイム・ゾーンを定義するために使用します。各タイム・ゾーンでは適切なタイム・ゾーン名を定義する必要があります。これは、タイム・ゾーン、グリニッジ標準時との関係、このタイム・ゾーンで夏/冬時間(サマー・タイム制度)によるシフトが発生するかどうか、およびそのシフトがいつ発生するかを定義する外部ソースへの参照です。

次の各項では、タイム・ゾーンの管理に関連する概念および構成のトピックについて説明します。

注意: Oracle Utilities Customer Care and Billing - Interval Billingアプリケーションの顧客は、製品のインターバル請求時間関連の機能に関する特定の情報について、トピック「時間についての問題点」(ヘルプの索引で、「時間についての問題点」を検索)を参照してください。

基準タイム・ゾーン

タイム・ゾーンを設計する際は、最初に基準タイム・ゾーンを決定します。会社の本社がある場所のタイム・ゾーンを選択できます。この作業を終えた後は、このタイム・ゾーン・コードをインストール・オプションの基準タイム・ゾーンにリンクできます。詳細は、「インストール・オプション - メイン」を参照してください。

注意: システム・プロパティ・ファイルの属性を構成して、データベース・セッションのタイム・ゾーンとインストール・オプションに定義されている値とを同期する必要があることを指定できます。詳細は、サーバー管理ガイドを参照してください。

本社のタイム・ゾーンの範囲を超えてビジネスを行う場合は、顧客またはデータを交換する他のシステムが属している可能性のある他のタイム・ゾーンを定義します。この時点で、使用している製品ではデフォルトのタイム・ゾーンを(たとえば郵便番号や地理的場所に基づいて)取得する構成表を含めることができます。

標準時と法定時間

法定時間という用語は、夏時間の影響を受ける可能性がある実際の時計の時間を指します('ローカル時間'とも呼ばれます)。このタイム・ラインでは、夏時間の期間に入るときに1時間のギャップがあり、期間の終了時に1時間が重複します。

標準時という用語は、夏時間シフトが適用されていないタイム・ラインを指します。この仮想タイム・ラインには、夏時間の期間に入るときの1時間のギャップも終了時の1時間の重複もありません。つまり、時間は連続的であり、あいまいではありません。原則として、すべての時間依存データは、インストール・オプションで定義した基準タイム・ゾーンの標準時で保存することをお薦めします。このようにすると、データ分析時の混乱が回避され、異なるタイム・ゾーンに保存されている可能性のあるデータについてタイム・ゾーンまたは夏時間のシフトをアルゴリズムが実行する必要がなくなります。

実際の製品に応じて、エンティティの日付/時間情報は次のいずれかのオプションで保存できます。
  • 基準タイム・ゾーンの標準時('物理時間'とも呼ばれます)。

  • エンティティの地理的位置に関連する別のタイム・ゾーンの標準時('論理時間'とも呼ばれます)。

  • 基準タイム・ゾーンの法定時間。

のメタデータ定義では、その日付/時間フィールドが標準時で保存されているかどうかが指定されています。一般的に、標準時をサポートする表の日付/時間フィールドはすべて同じ方法で保存されますが、システムではフィールドごとに独自のオプションを指定することが許容されます。このようなフィールドのメタデータ定義では、それが基準タイム・ゾーンの標準時(「実質標準時」)、エンティティに関連付けられた他のタイム・ゾーンの標準時(法定標準時)または基準タイム・ゾーンの法定時間(「参照タイム・ゾーン」)のどれで保存されているかが指定されます。

保存と表示

標準時でのデータの保存に使用されるタイム・ゾーン・オプションに関係なく、ユーザー・インタフェースではすべての日付/時間情報がそれぞれのタイム・ゾーンの法定時間で入力および表示されます。フィールドが基準または他のタイム・ゾーンの標準時で保存するように定義されている場合も、ユーザー・インタフェースは、それぞれのタイム・ゾーンの法定時間でデータを受け入れるように設計されており、データを保存する前に同じタイム・ゾーンの標準時にデータをシフトし、データをユーザーに表示する前に標準時から法定時間への逆シフトを実行します。

タイム・ゾーンおよび夏時間の標準時との間の変換は、ユーザー・インタフェース・レイヤーの一部としてバックグラウンドで実行されることを理解することが重要です。データがサーバーに到達したときは、すでにその時間保存オプションでの状態になっています。ユーザーが、これらの時間変換を認識することはありません。

標準時と法定時間の間の時間シフトは、自動的に行われるのではありません。標準時で保存されるフィールドを扱うときは、そのデータ入力および表示においては明示的に、時間シフト機能をユーザー・インタフェースおよびゾーン構成の一部として含める必要があります。

日付/時間スキーマ要素

ビジネス・オブジェクト・スキーマで日付/時間フィールドを定義する際、データを基準タイム・ゾーンの標準時で保存する必要があるか、それとも(データに関連付けられている)他のタイム・ゾーンの標準時で保存する必要があるかを定義するのにスキーマ属性を使用できます。

デフォルトでは、標準時で保存されたデータは対応するタイム・ゾーンの法定時間で表示されます。追加のスキーマ属性を使用して、時間の表示を別のタイム・ゾーンの法定時間にシフトする必要があるかどうかを示すことができます。たとえば、データは基準タイム・ゾーンで保存されているが、そのデータが別のタイム・ゾーンに関連付けられている場合、データはそのデータに適切なタイム・ゾーンで(適切な季節調整も含めて)表示されます。詳細は、「スキーマ・ノードおよび属性」の「標準時の考慮事項」を参照してください。

外部システムとの日付/時間情報の交換

システム間での日付/時間情報の交換は、標準のXSD形式で行う必要があります。これには指定された時刻のタイム・ゾーンへの参照が協定世界時(UTC)からのオフセットとして含まれているためです。システムは自動的に、インバウンド・メッセージの日付/時間要素をXSDから内部形式に変換し、アウトバウンド・メッセージの場合はその逆の変換を行います。後者は、そのアウトバウンド・メッセージ・タイプに対する外部システム・レコードでの明示的な日付/時間書式設定によって制御されます。

オフセットは、下記のとおりに決定され、各インバウンドまたはアウトバウンド・スキーマによって明示的に定義された要素に関連付けられたタイム・ゾーンに基づきます。
  • 基準タイム・ゾーンまたは他のタイム・ゾーンの標準時で保存されるように定義された要素のオフセットは年間を通して常に同じになります。このタイム・ラインは夏時間に合せてシフトされることがないからです。オフセットは、そのタイム・ゾーンのUTCからの標準オフセット(夏時間中ではなく)になります。

  • 基準タイム・ゾーンの法定時間で保存される要素については、日付/時間値が夏時間期間外のときは基準タイム・ゾーンの標準オフセット、夏時間期間内のときはシフトされたオフセットになります。

ユーザー・タイム・ゾーン

会社が複数のタイム・ゾーンで事業を行っている場合は、各ユーザーのユーザー・レコードがその場所のタイム・ゾーンを参照している場合があります。このタイム・ゾーンは、そのユーザーの場所に関する追加情報となるため、タイム・ゾーンの設定が関係する特定のビジネス・ルールで使用できます。
注意: ユーザー・レコードで定義されたタイム・ゾーンは、日付/時間情報を自動的にユーザーのタイム・ゾーンで表示するために使用されるわけではありません。デフォルトでは、ユーザーのタイム・ゾーンではなく、それぞれのタイム・ゾーンの法定時間の標準時で保存されている日付/時間フィールドが表示されます。