调整本地时间C++的夏令时

Ste*_*eng 5 c++ linux

我有一个优化的功能来获得GMT时间.我想把它转换成当地时间.我想只调用一次localtime和gmtime函数来调整本地时间的时间,因为多次调用localtime和gmtime会破坏使用优化函数的目的.我的想法是将时区差异添加到我获得的GMT时间.但是,我的问题是如何在夏令时调整我的本地时间?关于检查的任何想法?

谢谢.

Pet*_* G. 0

您可以直接使用时区数据库,但也许您不喜欢引入另一个组件。

如果我遵循你的想法,我会提前存储每周或每天的时差并在以后使用它们。这有点脏,因为您将丢失 DST 切换的准确时间。为了获得最佳精度,理论上您可以对当地时间使用二分搜索,但这与直接使用时区数据库相比似乎太过分了,您到达这里的实际上是您所在时区的时区数据库条目。