使用boost将UTC时间转换为自定义时区
Convert UTC time to custom time zone with boost
我正在尝试将UTC时间转换为自定义时区。我读过很多关于它的问题,但它们似乎都相反,或者在无法设置时区的地方使用时间调节器。到目前为止,我已经做到了:
boost::local_time::time_zone_ptr time_zone(new boost::local_time::posix_time_zone("EST5EDT,M3.2.0,M11.1.0"));
boost::posix_time::ptime const now(boost::gregorian::date(2004,11,5), boost::posix_time::hours(10));
boost::local_time::local_date_time const ny(now, time_zone );
//
ny.utc_time().time_of_day(); // Expected: 10:00 Actual: 10:00
ny.local_time().time_of_day(); // Expected: 04:00 Actual: 16:00
我希望ny.local_time()显示为04:00,因为当UTC时间是10:00时,在纽约是4:00。
有人能提出正确的方法吗?
boost库似乎将"偏移量"解释为要添加到UTC以获得本地时间的量;而标准POSIX约定则相反。将其更改为
"EST-5EDT,M3.2.0,M11.1.0"
^
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 自定义先决条件对移动分配运算符有效吗
- 使用VS Code和CMake Tools运行自定义命令
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- std::ranges::elements_view,用于自定义类似元组的数据
- 跟随整数索引列表的自定义类迭代器
- 参数化自定义CMake工具链
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 如何在自定义类中启用'auto loops'?
- 使用QJsEngine在Qt中注册自定义类型
- Qt自定义QPush按钮未显示在布局上
- 使用boost将UTC时间转换为自定义时区
- 使用自定义时区将 boost::p osix_time::p time 转换为字符串
- 在c++中自定义时区格式化日期/时间