【发布时间】:2016-11-10 11:50:25
【问题描述】:
我正在编写一些代码,我需要知道系统中哪个时区处于活动状态(我正在使用 Linux SO):
我的第一个方法是检查
TZ环境变量,除非我设置它(例如调用 tzset),否则它是空的之后我尝试
extern long timezone(time.h) 但此变量始终为 0。最后我计算了我的时区和 UTC+0 的差异,但我没有得到我的真实时区,因为我不知道夏令时是否适用
我很确定有一种简单(且最一致)的方法可以实现这一目标。我正在寻找类似“Europe/Paris”或“UTC+2”之类的东西
任何帮助将不胜感激!
【问题讨论】:
-
@KeineLust 谢谢,但我正在寻找时区而不是当前与 GMT 的偏移量。无论如何,这是一个很好的线索
-
这是我正在使用的:github.com/HowardHinnant/date/blob/master/tz.cpp#L3030-L3097 这是 C++,但你可以很容易地将它翻译成 C。