【发布时间】:2020-05-17 19:45:53
【问题描述】:
我正在尝试实现一个可以转换给定时区名称字符串的函数:
- 接受输入时区字符串,例如“Australia/Melbourne”;
- 检查主机操作系统(假设它是 POSIX 环境)时区数据库;
- 以秒为单位返回一个整数时区偏移量(对于 DST 中的墨尔本,它是 36000)。
可以通过调用putenv("TZ=Australia/Melbourne") 来完成,但这是may not be thread-safe。
有没有办法在没有putenv() 的情况下做到这一点,或者以某种方式让它成为线程安全的?提前致谢!
【问题讨论】: