3
如何在Linux/gcc中创建时区知识struct tm
? 我有以下代码:如何使用mktime来尊重时区
struct tm date;
date.tm_year=2012-1900;
date.tm_mon=9;
date.tm_mday=30;
date.tm_hour=17;
date.tm_min=45;
date.tm_sec=0;
date.tm_zone="America/New_York";
time_t t = mktime(&date);
当我打印t
值1349045100
。所以我把这个同时使用C++和python打印为字符串,它返回我:Sun Sep 30 18:45:00 2012
这是一个小时了。我要17:45而不是18:45。我使用Python的命令是:
time.ctime(1349045100)
C++我现在用的就是:
::setenv("TZ", "America/New_York",1);
::tzset();
strftime(tm_str, len_tm_str, "%Y%m%d %H:%M:%S", ::localtime(&t));
如此看来,当我构建它已经是一个小时的时间。我该如何纠正?
so tm.timezone assignment is ignored? – user2426361