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 成员必须为零。 如果指定了此日期,则还必须指定此结构的 DaylightDate 成员。

否则,系统会假定时区数据无效,并且不会应用任何更改。

若要选择月份中的正确日期,请将 wYear 成员设置为零, 将 wHourwMinute 成员设置为过渡时间, 将 wDayOfWeek 成员设置为适当的工作日,将 wDay 成员设置为指示一个月内星期几的发生时间 (1 到 5,其中 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 成员不为零,则转换日期为绝对日期;它只会发生一次。 否则,它是每年发生的相对日期。

StandardBias

在标准时间发生的本地时间转换期间使用的偏差值。 如果未提供 StandardDate 成员的值,则忽略此成员。

此值将添加到 Bias 成员的值中,以形成标准时间中使用的偏差。 在大多数时区中,此成员的值为零。

DaylightName[32]

夏令时的说明。 例如,“PDT”可能表示太平洋夏令时。 GetTimeZoneInformation 函数将返回字符串不变。 此字符串可以为空。

DaylightDate

一个 SYSTEMTIME 结构,包含从标准时间到夏令时在此操作系统上发生转换的日期和本地时间。 如果时区不支持夏令时,或者调用方需要禁用夏令时,则 SYSTEMTIME 结构中的 wMonth 成员必须为零。 如果指定了此日期,则还必须指定此结构中的 StandardDate 成员。

否则,系统会假定时区数据无效,并且不会应用任何更改。

若要选择月份中的正确日期,请将 wYear 成员设置为零, 将 wHourwMinute 成员设置为过渡时间, 将 wDayOfWeek 成员设置为适当的工作日,将 wDay 成员设置为指示一个月内星期几的发生时间 (1 到 5,其中 5 指示当月的最后一天,如果一周中的某一天没有发生 5 次) 。

如果 wYear 成员不为零,则转换日期为绝对日期;它只会发生一次。 否则,它是每年发生的相对日期。

DaylightBias

在夏令时发生的本地时间转换期间使用的偏差值。 如果未提供 DaylightDate 成员的值,则忽略此成员。

此值将添加到 Bias 成员的值,以形成夏令时使用的偏差。 在大多数时区中,此成员的值为 –60。

注解

每个时区的设置存储在以下注册表项中:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows NT
            CurrentVersion
               Time Zones
                  time_zone_name

每个时区条目都包含以下注册表值。

注册表值 类型 说明
显示器 REG_SZ 显示名称。
Dlt REG_SZ 夏令时的说明。
MUI_Display REG_SZ 以 @path-stringID[; 格式为字符串的显示名称comment]。 有关详细信息,请参阅 MUI
MUI_Dlt REG_SZ 夏令时的说明,格式为 @path-stringID[;comment]。
MUI_Std REG_SZ 标准时间的说明,格式为 @path-stringID[;comment]。
性病 REG_SZ 标准时间的说明。
TZI 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 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
标头 timezoneapi.h (包括 Windows.h)

另请参阅

DYNAMIC_TIME_ZONE_INFORMATION

GetTimeZoneInformation

SYSTEMTIME

SetTimeZoneInformation