c++ - 如何获取 ICU 中的所有时区名称

标签 c++ datetime boost icu

我正在使用带有 ICU 后端的 boost::locale 来进行不同时区之间的时间转换。创建 boost::local::Calendar 时,我可以传入像“America/New_York”这样的字符串来指定时区信息。

但是如何获取所有有效时区名称的列表?

来自 ICU 文档,它提到用户可以使用 TimeZone.getAvailableIDs() 方法来迭代所有时区名称。但我什至在 timezone.h 中找不到名为 getAvailableIDs 的方法。

最佳答案

您可以使用TimeZone.createEnumeration()来获取所有时区名称的列表。它确实在文档中提到使用 getAvailabeIDs,但此方法似乎不再存在。

关于c++ - 如何获取 ICU 中的所有时区名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25055728/

相关文章:

php - PHP 的 hash_hmac 函数的 C++ 等价物是什么?

python - 如何在 Pandas 中自定义解析日期

javascript - 为什么新日期 ('2018-12-29' ) 返回 12 月 28 日?

c++ - 在游戏机上加载的最佳数据文件格式

c++ - 从 vector 中删除元素时出错

python - 从 America/New_York 时间到 UTC 再转换回 America/New_York 的日期时间转换不正确

c++ - boost Shared_pointer NULL

c++ - 有没有办法 Boost.Assign 一个 ptr_vector?

c++ - 编译特定的 boost 库

c++ - 使用矩阵到 PMG 的棋盘