Mfc 我可以在windows中缩写时区名称吗?

Mfc 我可以在windows中缩写时区名称吗?,mfc,timezone,Mfc,Timezone,有人知道如何在Windows中获得缩写的时区名称吗 我使用这段代码来获取时区名称,但没有获取缩写的时区 time(&ltime); newtime = localtime(&ltime); strftime(sDate, 80,"%a, %d %b %Y %H:%M:%S %Z", newtime); 输出: 印度标准时间2013年8月16日星期五14:45:27 预期产量 2013年8月16日星期五14:45:27 谢谢,状态%Z返回 时区名称或时区缩写,具体取决于 注册表设

有人知道如何在Windows中获得缩写的时区名称吗

我使用这段代码来获取时区名称,但没有获取缩写的时区

time(&ltime);
newtime = localtime(&ltime);
strftime(sDate, 80,"%a, %d %b %Y %H:%M:%S %Z", newtime);
输出: 印度标准时间2013年8月16日星期五14:45:27

预期产量 2013年8月16日星期五14:45:27

谢谢,

状态
%Z
返回

时区名称或时区缩写,具体取决于 注册表设置;时区未知时无字符“


因此,使用strftime,您将很难获得所需的信息。时区缩写没有通用标准。您可以查看列表,但即使如此,仍有一些列表未列出或不明确

例如,一些人在夏威夷使用HAST,而另一些人使用HST,因为他们不太关心阿拉斯加的阿留申群岛(这就是
A
应该代表的)

此外,CST等值可以是“中央标准时间”(美国)、“中国标准时间”或“古巴标准时间”<代码>东部标准时间可以是“东部标准时间”(美国),也可以是“东部标准时间”(澳大利亚)

我可以坚持一整天。关键是,你应该只在向人显示时间时使用时区缩写,并且只有在存在其他隐含上下文(如位置)时才使用。如果您想在这些场景中使用条件逻辑,那么您的应用程序中需要一些条件逻辑,任何情况下,您都需要小心避免错误地假设偏移量可以直接转换为时区或单个缩写

你可能会想出一个完整的IANA/Olson时区的缩写,但是你需要一个TZDB实现——它不是Windows上C语言的本机实现。有关更多详细信息,请参阅

有一些规范,例如使用时区缩写的规范,但它们只定义了其中的一小部分,并且主要集中在美国。它们往往不包括在任何更现代或具有全球影响的规范中