如何在 C 中使用以下格式设置圣皮埃尔和密克隆 (PMST3PMDT) 的时区:
set TZ=tzn[+ | –]hh[:mm[:ss] ][dzn]
如果您查看_tzset的文档,您可以阅读:
tz
三个字母的时区名称,例如 PST。您必须指定从本地时间到 UTC 的正确偏移量。
4 个字母 (PMDT) 或 5 个字母 (EASST) 的时区名称呢?以下是所有时区缩写的列表:维基百科
这是我用 C 语言测试 _tzset 的简单代码:
#include <stdio.h>
#include <stdlib.h>
#include <sys/timeb.h>
#include <time.h>
//add _CRT_SECURE_NO_WARNINGS in the project properties "preprocessor definitions"
int main(int argc, char* argv[])
{
time_t t;
struct tm * now;
_putenv("TZ=PST8PDT"); // for pacific standard time, there is no problem
_tzset();
t = time(0);
now = localtime( & t );
printf("time: %d:%d \nisdst:%d\n", now->tm_hour, now->tm_min, now->tm_isdst);
printf("_daylight=%d\n", _daylight);
printf( "_timezone=%d\n", _timezone);
printf( "_tzname[0]=%s\n", _tzname[0]);
printf( "_tzname[1]=%s\n", _tzname[1]);
return 0;
}
*我使用的是windows8,visual studio 2012