linux 调用localtime()前设置时区则可以得到想要时区的时间

//      setenv("TZ", "America/New_York", 1);

//      setenv("TZ", "Europe/Moscow", 1);

setenv("TZ", "Asia/Shanghai", 1);

time_t t;

time(&t);

ptm = localtime(&t);

strftime(str_datetime, sizeof(str_datetime), "%Y-%m-%d %H:%M:%S %z %Z", ptm);

printf("%s,    是否夏令时: %d -------------\n", str_datetime, ptm->tm_isdst);

extern char *tzname[2];

extern long timezone;

extern int daylight;

printf("tzname=%s, %s, daylight=%d,timezone=%ld \n", tzname[0], tzname[1], daylight, timezone);

你可能感兴趣的:(linux 调用localtime()前设置时区则可以得到想要时区的时间)