我希望在特定日期的uint64_t中获得自纪元以来的纳秒数,是否有任何c ++库中的函数可以获得它。
答案 0 :(得分:1)
您可以使用Howard Hinnant's free, open-source date/time library将std::chrono
扩展到真实的日历中:
#include "date.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std::chrono_literals;
uint64_t k = (sys_days{2017_y/mar/21} + 10h + 27min + 5s +
123456789ns).time_since_epoch().count();
std::cout << k << '\n';
}
输出:
1490092025123456789
答案 1 :(得分:0)
如果您可以访问C ++ 11库,请查看std::chrono库。您可以使用它来获取自Unix Epoch以来的毫秒数:
#include <chrono>
// ...
using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
);