【发布时间】:2016-05-23 20:32:32
【问题描述】:
localtime_r 函数将time_t 时间戳转换为当前 时区中的struct tm。
如何将 UTC time_t 转换为不同时区的 struct tm,例如到澳大利亚悉尼的时间,考虑到夏令时和其他任何事情,并且不影响在程序的其他部分使用localtime?
【问题讨论】:
-
这个问题是关于时间转换的线程安全的吗?
-
这似乎可以满足您的需求:stackoverflow.com/questions/1173578/…
-
我认为标准的 C 函数在这里对你没有帮助。据我所知,库函数只是为您提供当前时间,操作系统处理时区和夏令时。因此,您可能需要使用特定于操作系统的函数或外部库。
-
是否可以使用
setenv改变TZ的值,调用localtime,然后将TZ设置回原来的值? -
@NateEldredge 不是线程安全的?