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

TimeZoneInfo クラスは、パブリック コンストラクターを公開しません。 そのため、new キーワードを使用して新しい TimeZoneInfo オブジェクトを作成することはできません。 TimeZoneInfo オブジェクトをインスタンス化するには、代わりに、定義済みのタイム ゾーンの情報をレジストリから取得するか、カスタム タイム ゾーンを作成します。 このトピックでは、レジストリに格納されているデータからタイム ゾーンをインスタンス化する方法について説明します。 また、TimeZoneInfo クラスの static (Visual Basic では shared) プロパティを使用すると、世界協定時刻 (UTC: Coordinated Universal Time) およびローカル タイム ゾーンにアクセスできます。

注意

レジストリで定義されていないタイム ゾーンの場合は、CreateCustomTimeZone メソッドのオーバーロードを呼び出すことによりカスタム タイム ゾーンを作成できます。 カスタム タイム ゾーンを作成する方法については、「方法: 調整規則のないタイム ゾーンを作成する」と「方法: 調整規則のあるタイム ゾーンを作成する」の各トピックを参照してください。 さらに、FromSerializedString メソッドを使用して、シリアル化された文字列から復元することにより、TimeZoneInfo オブジェクトをインスタンス化することもできます。 TimeZoneInfo オブジェクトのシリアル化と逆シリアル化については、「埋め込みリソースにタイム ゾーンを保存する」と「方法: 埋め込みリソースからタイム ゾーンを復元する」の各トピックを参照してください。

個別のタイム ゾーンへのアクセス

TimeZoneInfo クラスには、UTC 時刻とローカル タイム ゾーンを表す 2 つの定義済みタイム ゾーン オブジェクトがあります。 これらは、それぞれ Utc プロパティと Local プロパティから取得できます。 UTC またはローカル タイム ゾーンにアクセスする方法については、「方法: 定義済みの UTC オブジェクトおよびローカル タイム ゾーン オブジェクトにアクセスする」を参照してください。

また、レジストリで定義されているタイム ゾーンを表す TimeZoneInfo オブジェクトをインスタンス化することもできます。 特定のタイム ゾーン オブジェクトをインスタンス化する方法については、「方法: TimeZoneInfo オブジェクトをインスタンス化する」を参照してください。

タイム ゾーン ID

タイム ゾーン ID は、タイム ゾーンを一意に識別するキー フィールドです。 ほとんどのキーは比較的短いですが、タイム ゾーン ID はいくぶん長めです。 ほとんどの場合、ID の値は、タイム ゾーンの標準時刻の名前を表すために使用される TimeZoneInfo.StandardName プロパティに対応します。 ただし、例外もあります。 有効な ID を確実に指定する最良の方法は、システムで使用できるタイム ゾーンを列挙し、それに対応するタイム ゾーン ID を記録することです。

関連項目