次の方法で共有


TIME_ZONE_INFORMATION 構造体 (timezoneapi.h)

タイム ゾーンの設定を指定します。

構文

typedef struct _TIME_ZONE_INFORMATION {
  LONG       Bias;
  WCHAR      StandardName[32];
  SYSTEMTIME StandardDate;
  LONG       StandardBias;
  WCHAR      DaylightName[32];
  SYSTEMTIME DaylightDate;
  LONG       DaylightBias;
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;

メンバー

Bias

このコンピューター上でのローカル時間変換に使用する現在の時差 (分単位)。 時差とは、協定世界時 (UTC) とローカル時間との間の、分単位で表される差です。 UTC と現地時刻の間のすべての変換は、次の数式に基づいています。

UTC = ローカル時間 + 時差

このメンバーは必須です。

StandardName[32]

標準時の説明。 たとえば、"EST" は東部標準時を示します。 文字列は、 GetTimeZoneInformation 関数によって変更されずに返されます。 この文字列は空にすることができます。

StandardDate

このオペレーティング システムで夏時間から標準時への切り替えが行われる日時とローカル時刻を含む SYSTEMTIME 構造体。 タイム ゾーンで夏時間がサポートされていない場合、または呼び出し元が夏時間を無効にする必要がある場合、SYSTEMTIME 構造体の wMonth メンバーは 0 である必要があります。 この日付を指定する場合は、この構造体の DaylightDate メンバーも指定する必要があります。

それ以外の場合、システムはタイム ゾーン データが無効であると想定し、変更は適用されません。

月の正しい日を選択するには、 wYear メンバーを 0 に設定し、 wHour メンバーと wMinute メンバーを切り替え時間に設定し、 wDayOfWeek メンバーを適切な平日に設定し、 wDay メンバーを設定して月内の曜日の発生を示します (1 から 5 は、週のその日が 5 回発生しない場合、月の最後の発生を示します)。

この表記を使用して、4 月の最初の日曜日に 02:00 を指定します。 wHour = 2、 wMonth = 4、 wDayOfWeek = 0、 wDay = 1。 10 月の最後の木曜日に 02:00 を指定します。 wHour = 2、 wMonth = 10、 wDayOfWeek = 4、 wDay = 5。

wYear メンバーが 0 でない場合、移行日は絶対です。1 回だけ発生します。 それ以外の場合は、毎年発生する相対日付です。

StandardBias

標準時に発生する現地時間変換中に使用されるバイアス値。 StandardDate メンバーの値が指定されていない場合、このメンバーは無視されます。

この値は 、標準 時に使用されるバイアスを形成するために Bias メンバーの値に追加されます。 ほとんどのタイム ゾーンでは、このメンバーの値は 0 です。

DaylightName[32]

夏時間の説明。 たとえば、"PDT" は太平洋夏時間を示します。 文字列は、 GetTimeZoneInformation 関数によって変更されずに返されます。 この文字列は空にすることができます。

DaylightDate

このオペレーティング システムで標準時から夏時間への切り替えが行われる日時と現地時刻を含む SYSTEMTIME 構造体。 タイム ゾーンで夏時間がサポートされていない場合、または呼び出し元が夏時間を無効にする必要がある場合、SYSTEMTIME 構造体の wMonth メンバーは 0 である必要があります。 この日付を指定する場合は、この構造体の StandardDate メンバーも指定する必要があります。

それ以外の場合、システムはタイム ゾーン データが無効であると想定し、変更は適用されません。

月の正しい日を選択するには、 wYear メンバーを 0 に設定し、 wHour メンバーと wMinute メンバーを切り替え時間に設定し、 wDayOfWeek メンバーを適切な平日に設定し、 wDay メンバーを設定して月内の曜日の発生を示します (1 から 5 は、週のその日が 5 回発生しない場合、月の最後の発生を示します)。

wYear メンバーが 0 でない場合、移行日は絶対です。1 回だけ発生します。 それ以外の場合は、毎年発生する相対日付です。

DaylightBias

夏時間中に発生する現地時間の変換中に使用されるバイアス値。 DaylightDate メンバーの値が指定されていない場合、このメンバーは無視されます。

この値は、夏時間に使用されるバイアスを形成するために Bias メンバーの値に追加されます。 ほとんどのタイム ゾーンでは、このメンバーの値は -60 です。

解説

各タイム ゾーンの設定は、次のレジストリ キーに格納されます。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows NT
            CurrentVersion
               Time Zones
                  time_zone_name

各タイム ゾーン エントリには、次のレジストリ値が含まれます。

レジストリ値 Type 説明
ディスプレイ REG_SZ 表示名です。
Dlt REG_SZ 夏時間の説明。
MUI_Display REG_SZ 形式 @path,-stringID[; の文字列としての表示名。コメント]。 詳細については、「 MUI」を参照してください。
MUI_Dlt REG_SZ 形式 @path,-stringID[; の文字列としての夏時間の説明。コメント]。
MUI_Std REG_SZ 形式 @path,-stringID[; の文字列としての標準時の説明。コメント]。
Std REG_SZ 標準時の説明。
ツィ REG_BINARY 次のタイム ゾーン情報。
typedef struct _REG_TZI_FORMAT
{
    LONG Bias;
    LONG StandardBias;
    LONG DaylightBias;
    SYSTEMTIME StandardDate;
    SYSTEMTIME DaylightDate;
} REG_TZI_FORMAT;

 

動的 DST キーの詳細については、「DYNAMIC_TIME_ZONE_INFORMATION」を参照してください。

StandardNameDaylightName の両方が、現在のユーザーの既定の UI 言語に従ってローカライズされます。

例については、「 SetTimeZoneInformation」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
Header timezoneapi.h (Windows.h を含む)

関連項目

DYNAMIC_TIME_ZONE_INFORMATION

GetTimeZoneInformation

SYSTEMTIME

SetTimeZoneInformation