我正在尝试使用 boost 库以毫秒为单位检索当前时间。下面是我用来获取当前时间(以毫秒为单位)的代码。
boost::posix_time::ptime time = boost::posix_time::microsec_clock::local_time();
boost::posix_time::time_duration duration( time.time_of_day() );
std::cout << duration.total_milliseconds() << std::endl;
uint64_t timestampInMilliseconds = duration.total_milliseconds() // will this work or not?
std::cout << timestampInMilliseconds << std::endl;
但这以 10 位打印出来,就像17227676
..我在我的 ubuntu 机器上运行我的代码..而且我相信它总是 13 位长值?不是吗?
在以毫秒为单位计算时间戳后,我需要使用以下公式 -
int end = (timestampInMilliseconds / (60 * 60 * 1000 * 24)) % 14
但不知何故,我不确定我得到的 timestampInMilliseconds 是否正确?
首先我应该使用 boost::posix 还是不使用?我假设可能有更好的方法..我在我的 ubuntu 机器上运行代码..
更新:-
由于这段 bash 脚本打印出 13 位的 timestampInMilliseconds ..
date +%s%N | cut -b1-13