【发布时间】:2016-04-14 18:05:58
【问题描述】:
我们正在尝试从std::tm 和strftime 获取时区:
char timezone[50];
strftime(timezone, sizeof(timezone), "%Z", &timeCreated);
在 iOS 上,我们得到了我们想要的“EST”。但在 Windows 上,我们得到“东部夏令时间”。有人知道如何以缩写形式始终如一地获取 C++ 中的当前时区吗?
我考虑通过简单地挑选每个单词中的第一个字符来从时区的全名中制作缩写。但我检查了abbreviations 的列表,并注意到我们可以有像“Chuuk Time”这样的时区,缩写为“CHUT”。这使得手动调整是不可能的。
与问题不同:Windows Timezone and their abbreviations? 我不需要所有时区和缩写的完整列表。但相反,我需要一个系统的方法来使用例如strftime 来访问当前时区。我希望他们使用系统的当前时区和当前本地。
【问题讨论】:
-
本来打算推荐GetTimeFormatEx,但是好像没有办法在格式图片中指定时区字段。