我必须实例化一个自定义库类的对象,该类需要nanoseconds since 'epoch' in UTC time构造:
class utc_time
{
public:
utc_time(TYPE nanoseconds_since_epoch):
_nanoseconds_since_epoch(nanoseconds_since_epoch){}
private:
TYPE _nanoseconds_since_epoch;
};
Run Code Online (Sandbox Code Playgroud)
我的输入是什么nanoseconds since 'midnight' in UTC time.当然,我需要获得epoch直到最后midnight纳秒(以UTC为单位)将其添加到我的输入并将其提供给我的类构造函数.我知道我们有gtime可能会有所帮助,但我不知道如何提取所需的信息.
我很感激你的线索
在C++ 11及更高版本中,<chrono>可以非常轻松地使用它:
#include <chrono>
#include <iostream>
int
main()
{
using namespace std::chrono;
using namespace std;
using days = duration<int, ratio<86400>>;
nanoseconds last_midnight =
time_point_cast<days>(system_clock::now()).time_since_epoch();
cout << last_midnight.count() << '\n';
}
Run Code Online (Sandbox Code Playgroud)