gpt4 book ai didi

c++ - 一种将 boost::posix_time::ptime 转换为 __int64 的方法

转载 作者:IT老高 更新时间:2023-10-28 22:26:55 25 4
gpt4 key购买 nike

有谁知道是否有将 boost::posix_time::ptime 转换为 __int64 值的好方法。 (我编译的是微秒版本,不是纳秒版本)。

我需要以某种方式执行此操作,因为我希望将生成的 __int64 存储在 union 类型中,该类型将原始数据用于高性能应用程序。像这样的某种 Memento 功能对我来说非常有用。如果可能的话,我想避免强制转换,但如果需要,我会求助于它们。

最佳答案

将 ptime 转换为整数是毫无意义的,因为 ptime 是实际时间的抽象。基于整数的时间是该时间的表示,作为一个纪元的计数。您(可能)想要做的是生成 time_duration从您的时间到您感兴趣的时代,然后使用 time_duration::ticks() 获取 64 位整数。您可能需要将结果缩放到所需的精度:

ptime myEpoch(date(1970,Jan,1)); // Or whatever your epocj is.
time_duration myTimeFromEpoch = myTime - myEpoch;
boost::int64_t myTimeAsInt = myTimeFromEpoch.ticks();

关于c++ - 一种将 boost::posix_time::ptime 转换为 __int64 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574647/

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