gpt4 book ai didi

c++ - 如何使用 boost::date_time 在本地时间和世界时间之间进行转换?

转载 作者:可可西里 更新时间:2023-11-01 15:07:09 27 4
gpt4 key购买 nike

如何使用 current 使用 boost::date_time 在本地时间和 UTC 时间之间转换(特别是,从本地时间到 UTC)系统时区?我知道 boost::date_time::local_adjustor,但它需要一个模板参数,它是一个依赖于时区的偏移量。

Failing platform-independent way要做到这一点,我将如何专门在 Linux 上做到这一点?

顺便说一句,在转换过程中如何处理不存在的时间点?例如,如果由于夏令时,一天少了一小时,我尝试从缺少的小时转换一个时间点,那么最终的世界时是多少?

最佳答案

我正在使用以下代码查找本地时间和 UTC 时间之间的差异:


using namespace boost::posix_time;
using namespace boost::gregorian;

time_duration UTC_Diff;
{
ptime someUTC_Time(date(2008, Jan, 1), time_duration(0, 0, 0, 0));
ptime someLocalTime = boost::date_time::c_local_adjustor::utc_to_local(someUTC_Time);
UTC_Diff = someLocalTime - someUTC_Time;
}

既然你发现了不同,就不容易计算出 UTC 时间。

关于c++ - 如何使用 boost::date_time 在本地时间和世界时间之间进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2294166/

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