我正在使用Ubuntu 10.04并将系统时区设置为“Europe / London”。 我想以上述格式设置系统时区,而不是“IST,EST等”。无论如何,我可以得到我们设置的相同格式的时区字符串,如“Europe / London”。
如上所述链接是为了复制,但实际上并没有回答我的问题。在发布此问题之前,我已检查了上述链接。
请建议。
先谢谢。
答案 0 :(得分:0)
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上,这些信息似乎来自其他地方。
答案 1 :(得分:-1)
为什么不只是cat / etc / timezone?
amrith@amrith-vbox:~/so$ more /etc/timezone
America/New_York