我需要将自纪元以来以毫秒为单位的时间转换为boost::posix_time::ptime
。我看到的唯一功能是转换为from_time_t
,但这只是在几秒钟内就会失去毫秒。
如何将epoch之后的毫秒转换为ptime类型?
答案 0 :(得分:13)
其中ms
是自纪元以来的毫秒数:
ptime epoch_milliseconds_to_ptime(unsigned long int ms)
{
static const ptime epoch(date(1970, 1, 1));
return epoch + milliseconds(ms);
}
答案 1 :(得分:5)
from_time_t(millis / 1000) + millisec(millis % 1000)