-2

我正在使用 Ubuntu 10.04 并设置系统时区“欧洲/伦敦”。我想以上述格式设置系统时区,而不是“IST,EST 等”。无论如何我可以得到与我们设置的相同格式的时区字符串,如“欧洲/伦敦”。

如上给出的链接是重复的,但实际上它并没有回答我的问题。在发布这个问题之前,我已经检查了上面的链接。

请建议。

提前致谢。

4

2 回答 2

1

time.h定义一个函数来检索系统时区并将其保存在两个字符串变量中:

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

int main() {
    char * TZ = getenv("TZ");
    if (TZ)
        printf("TZ: %s\n", TZ);
    tzset();
    printf("Timezone: %s/%s\n", tzname[0], tzname[1]);
    printf("GMT %s%ld\n", timezone >= 0 ? "+" : "", timezone);
    printf("DST %s\n", daylight ? "ON" : "OFF");
}

请注意,在某些系统(例如 Linux)上,此函数从TZ环境变量中检索它的信息。如果未设置,则将给出近似值,否则变量将保持未初始化状态。

在我的 OS X 上,这个信息似乎来自其他地方。

于 2013-08-19T11:16:25.480 回答
-1

为什么不只是 cat /etc/timezone?

amrith@amrith-vbox:~/so$ more /etc/timezone
America/New_York
于 2013-08-19T11:39:54.543 回答