跨平台C ++:使用历史tzdata转换为UTC /本地时间

时间:2015-04-12 03:55:53

标签: c++ windows timezone utc

我需要将UTC的时间转换为用户选择的时区。我还必须从该时区的用户输入转换为以UTC格式存储。

目前时区以奥尔森格式定义(" America / Los Angeles")。

在Linux上使用timegm解决方案很简单,但是我找不到在Windows上执行完全相同操作的跨平台解决方案(或任何解决方案)。

我无法使用Boost.Date_Time(http://www.boost.org/doc/libs/1_57_0/doc/html/date_time.html),因为它不支持历史时区更改,例如多年来不同的DST时段。有人显然在几年前提交了一个补丁,但似乎没有被接受。

唯一似乎有道理的其他解决方案是使用以下数据和代码:https://www.iana.org/time-zones

有人试过这个,还是你有更好的主意?

0 个答案:

没有答案