時刻とタイム ゾーン

更新 : 2007 年 11 月

基本的な DateTime 構造体に加えて、.NET Framework にはタイム ゾーンを扱う次のようなクラスも用意されています。

  • TimeZone

    システムのローカル タイム ゾーンと世界協定時刻 (UTC: Coordinated Universal Time) タイム ゾーンを扱うには、このクラスを使用します。TimeZone クラスのほとんどの機能は、TimeZoneInfo クラスに引き継がれています。

  • TimeZoneInfo

    このクラスを使用すると、システムに事前に定義されている任意のタイム ゾーンを処理し、新しいタイム ゾーンを作成して、1 つのタイム ゾーンから別のタイム ゾーンに日付/時刻を簡単に変換できます。新たに開発する場合は、TimeZone クラスではなく TimeZoneInfo クラスを使用してください。

  • DateTimeOffset

    この構造体を使用すると、UTC とのオフセット (つまり時差) がわかっている日付/時刻を処理できます。DateTimeOffset 構造体は、日付/時刻値、およびその時刻と UTC とのオフセットを組み合わせます。UTC との相対関係が示されるため、個々の日付/時刻値は 1 つの特定の日時を明確に表すことになります。このため、DateTimeOffset 値は DateTime 値に比べて、コンピュータ間での移植性に優れています。

ここでは、タイム ゾーンを処理するために必要な情報、および 1 つのタイム ゾーンから別のタイム ゾーンに日付/時刻を変換するタイム ゾーン対応アプリケーションを作成するために必要な情報について説明します。

このセクションの内容

タイム ゾーンの概要

タイム ゾーン対応アプリケーションの作成に関連した用語、概念、および問題について説明します。

DateTime、DateTimeOffset、および TimeZoneInfo の使い分け

日付/時刻データを扱う際、どのような場合に DateTimeDateTimeOffset、および TimeZoneInfo の各型を使用できるかについて説明します。

ローカル システムで定義されているタイム ゾーンの検索

ローカル システム上で検出されるタイム ゾーンを列挙する方法について説明します。

方法 : コンピュータ上に存在するタイム ゾーンを列挙する

コンピュータのレジストリに定義されているタイム ゾーンを列挙し、1 つの定義済みタイム ゾーンをユーザーがリストから選択できるようにする例を示します。

方法 : 定義済みの UTC オブジェクトおよびローカル タイム ゾーン オブジェクトにアクセスする

世界協定時刻とローカル タイム ゾーンにアクセスする方法について説明します。

方法 : TimeZoneInfo オブジェクトをインスタンス化する

ローカル システムのレジストリから TimeZoneInfo オブジェクトをインスタンス化する方法について説明します。

DateTimeOffset オブジェクトのインスタンス化

DateTimeOffset オブジェクトをインスタンス化する方法、および DateTime 値を DateTimeOffset 値に変換する方法について説明します。

方法 : 調整規則のないタイム ゾーンを作成する

夏時間の調整をサポートしないカスタム タイム ゾーンを作成する方法について説明します。

方法 : 調整規則のあるタイム ゾーンを作成する

1 つ以上の夏時間調整をサポートするカスタム タイム ゾーンを作成する方法について説明します。

タイム ゾーンの保存と復元

タイム ゾーン データのシリアル化と逆シリアル化が TimeZoneInfo でどのようにサポートされるかを説明し、これを使用できるいくつかのシナリオを示します。

方法 : 埋め込みリソースにタイム ゾーンを保存する

カスタム タイム ゾーンを作成し、その情報をリソース ファイルに保存する方法について説明します。

方法 : 埋め込みリソースからタイム ゾーンを復元する

埋め込みリソース ファイルに保存されているカスタム タイム ゾーンをインスタンス化する方法について説明します。

日付と時刻を使用した算術演算の実行

DateTime 値と DateTimeOffset 値の加算、減算、および比較に関連した問題について説明します。

方法 : 日付と時刻の演算でタイム ゾーンを使用する

タイム ゾーンの調整規則を考慮して日付と時刻の演算を実行する方法について説明します。

DateTime と DateTimeOffset 間の変換

DateTime 値と DateTimeOffset 値を相互に変換する方法について説明します。

タイム ゾーン間での時刻の変換

1 つのタイム ゾーンから別のタイム ゾーンに時刻を変換する方法について説明します。

方法 : あいまいな時刻を解決する

あいまいな時刻をタイム ゾーンの標準時刻に対応付けることによって解決する方法を示します。

方法 : ユーザーがあいまいな時刻を解決できるようにする

あいまいなローカル時刻と世界協定時刻との対応付けをユーザーが決定できるようにする方法を示します。

参照

TimeZoneInfo