_tzset

设置时环境变量。

重要

此 API 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW

void _tzset( void );

备注

_tzset 函数使用当前设置环境变量 TZ 赋值三个全局变量:_daylight、_timezone和 _tzname。 time 功能使用这些变量。_ftimelocaltime 功能由协调世界时 (UTC) 进行更正到本地时间和计算从系统时间的 UTC。 使用以下语法设置 TZ 环境变量:

set TZ=tzn[+ | –]hh[:mm[:ss] ][dzn]

  • tzn
    三个字母时区名称,例如 PST。 您必须指定从本地时间正确的偏移量 UTC。

  • hh
    区别在于 UTC 和本地时间之间的小时数。 符号 (+) 对于是可选的正值。

  • mm
    分钟。 从 hh 之间用冒号 (:)。

  • ss
    秒。 从 mm 之间用冒号 (:)。

  • dzn
    三个字母夏时制保存时区例如 PDT。 如果夏时制实际上不在该位置,设置 TZ,而无需 dzn的值。 C 运行库假定实现的夏时制 (DST) 的计算美国的规则。

备注

要在计算时差的符号。由于时差是从本地时间的 UTC 偏移量 (而不是相反) 时,其符号可能是什么的相反值可能需要直观。对于早于 UTC 的时区,时差为负;对于某些晚于 UTC,差别是一样的。

例如,设置 TZ 环境变量对应于当前时区在德语,输入以下命令行:

set TZ=GST-1GDT

此命令使用 GST 指示德语标准时间,假定,UTC 是在德语后面的一小时 (换言之,或该德语是早于 UTC 的小时数),并假定,德语观察夏时制保存时。

如果 TZ 值未设置,_tzset 尝试使用操作系统指定时区的信息。 在 windows 操作系统中,此信息在日期/时间应用程序"控制面板"中指定。 如果 _tzset 无法获取此信息,默认情况下它使用 PST8PDT,表示所产生的字符串。

当 _tzset 调用时,根据 TZ 环境变量的值,下面的值赋给全局变量 _daylight、_timezone和 _tzname :

全局变量

描述

默认值

_daylight

非零值,如果夏时制保存时区在 TZ 设置指定;否则,0。

1

_timezone

差异在本地时间与 UTC 之间的秒。

28800 (28800 秒等于 8 小时)

_tzname[0]

该时区的名称的字符串值以 TZ 环境变量的;,如果 TZ 未设置,则为。

PST

_tzname[1]

夏时制保存时区的字符串值;,如果夏时制保存时区从 TZ 环境变量,则省略则为。

PDT

在 _daylight 的前面表中显示的默认值和 _tzname 数组对应于“PST8PDT”。如果 DST 区域中 TZ 环境变量被省略,_daylight 的值为 0,并 _ftime、gmtime和 localtime 函数返回 0 其 DST 标志的。

要求

实例

必需的标头

_tzset

<time.h>

有关更多信息,请参见 兼容性

示例

// crt_tzset.cpp
// This program uses _tzset to set the global variables
// named _daylight, _timezone, and _tzname. Since TZ is
// not being explicitly set, it uses the system time.

#include <time.h>
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    _tzset();
    int daylight;
    _get_daylight( &daylight );
    printf( "_daylight = %d\n", daylight );
    long timezone;
    _get_timezone( &timezone );
    printf( "_timezone = %ld\n", timezone );
    size_t s;
    char tzname[100];
    _get_tzname( &s, tzname, sizeof(tzname), 0 );
    printf( "_tzname[0] = %s\n", tzname );
    exit( 0 );
}
  

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

时间线

asctime, _wasctime

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

time, _time32, _time64

_utime, _utime32 _utime64, _wutime, _wutime32, _wutime64