【发布时间】:2012-06-23 01:27:32
【问题描述】:
我在我的 C++ 程序中使用 clock_gettime() 来获取当前时间。但是,返回值是UTC 纪元以来的秒数。在夏令时期间,当时间偏移一小时时,此代码可能会在我的时区混乱。
系统本身有 NTP 同步它以始终在 EST 中提供正确的时间。有没有办法让clock_gettime() 报告当地时间而不是UTC,这样我就可以避免夏令时问题?
【问题讨论】:
-
你为什么不直接从 UTC 转换为本地时间?将“获取时间”与“转换为本地时间”分开。
-
当然可以,但是我必须每年在我的代码中手动更改转换系数两次。
-
我不是建议硬编码它。我建议使用可识别时区的日期/时间库来执行转换。
-
还可以考虑使用cctz 库进行转换。