将时间戳(毫秒级)转换为Boost ptime

4

我需要将以自纪元起算的毫秒时间转换为boost::posix_time::ptime。我能找到的唯一函数是from_time_t,但它仅以秒为单位,在转换时会丢失毫秒数。

如何将自纪元起算的毫秒数转换为ptime类型?

2个回答

13

其中ms是自Unix纪元以来的毫秒计数:

ptime epoch_milliseconds_to_ptime(unsigned long int ms)
{
  static const ptime epoch(date(1970, 1, 1));

  return epoch + milliseconds(ms);
}

9
from_time_t(millis / 1000) + millisec(millis % 1000)

是的,那应该可以运行(有时候简单的答案可能不易得到 ;))。 - edA-qa mort-ora-y

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接