【发布时间】:2011-04-17 08:43:32
【问题描述】:
我正在使用 RHEL 5.3 (linux 2.6.18)
我有一个依赖于 ftime(3) 返回的时区和 dst 的旧代码。
现在从 ftime(3) 手册页中我看到 timezone 和 dstflag 不受支持。 gettimeofday(3) 也不支持这些字段。
我如何检索时区和夏令时?
谢谢
【问题讨论】:
我正在使用 RHEL 5.3 (linux 2.6.18)
我有一个依赖于 ftime(3) 返回的时区和 dst 的旧代码。
现在从 ftime(3) 手册页中我看到 timezone 和 dstflag 不受支持。 gettimeofday(3) 也不支持这些字段。
我如何检索时区和夏令时?
谢谢
【问题讨论】:
你可以使用tzset(3):
#define _XOPEN_SOURCE
#include <time.h>
#include <stdio.h>
int main(void)
{
tzset();
printf("%ld, %d\n", timezone, daylight);
}
在我的系统上打印“-3600, 1”。
tzset 还使用标准和夏令时时区名称的名称填充数组 char *tzname[2]。
【讨论】: