gpt4 book ai didi

c++ - 获取特定时区的当前 GMT 偏移量

转载 作者:行者123 更新时间:2023-11-30 01:16:21 24 4
gpt4 key购买 nike

给定本地时区以外的特定时区(例如 America/Los_Angeles),我如何找到该时区的当前 GMT 偏移量?目的是针对 DST 更改进行这项工作。也就是说,洛杉矶的 GMT 偏移量为 -8,在夏令时调整为 -7。

一些 other answers建议操纵 TZ 环境变量,它会影响 localtime 等函数返回的内容,但我想要一个不会混淆环境变量(例如不可重入)的解决方案。

似乎所有这些信息都可以通过 zdump/usr/share/zoneinfo 上获得,但我如何从 C++ 中获取这些信息并不明显。

最佳答案

您可能会考虑的一种方法是使用 ICU .它包含(除其他外)在时区之间转换的功能。参见 the documentation for the TimeZone class .

例如,您可以创建一个时区对象:

TimeZone *tz = TimeZone::createTimeZone("America/Los_Angeles");

然后您可以使用 getOffset 等方法。

另请参阅 ICU Time Zone User Guide , 和 this complete example .

关于c++ - 获取特定时区的当前 GMT 偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26792237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com