gpt4 book ai didi

c++ - 如何检查给定的 UTC 偏移量是否启用了夏令时?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:27 24 4
gpt4 key购买 nike

我需要确定是否为 Linux (Redhat) 中的给定 UTC 偏移启用了夏令时。我得到诸如 UTC+05:30 之类的输入。我检查了 zdump 命令的用法。当与时区名称一起使用时,我们可以检查输出中的 isdst 值以确定夏令时的状态。

zdump -v /usr/share/zoneinfo/Asia/Kolkata | grep 2013

如上所述,zdump 需要区域名称。它不接受 UTC 偏移量。

我还尝试了下面的本地时间功能。

time_t currtime;
struct tm * timeinfo;
timeinfo = localtime ( &currtime );
time_t local = mktime( timeinfo );
cout<<timeinfo->tm_isdst<<endl;

当在日期时间设置中设置时区名称时,以上代码有效。如果系统使用的是 UTC 时间,则它不起作用。当使用 UTC 时间时,我使用 gmtime 而不是本地时间。

请告诉我是否有任何方法可以使用 UTC 偏移来确定是否启用了 dst。

最佳答案

这通常是不可能的。许多国家/地区可能会使用 UTC+05:30,每个国家/地区都有不同的夏令时政策。

关于c++ - 如何检查给定的 UTC 偏移量是否启用了夏令时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14734250/

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