相关疑难解决方法(0)

C++如何将std :: chrono :: time_point转换为long和back

我需要转换std::chrono::time_point为一个long类型(整数64位).我正在开始std::chrono......

这是我的代码:

int main ()
{
     std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();

    auto epoch = now.time_since_epoch();
    auto value = std::chrono::duration_cast<std::chrono::milliseconds>(epoch);
    long duration = value.count();


    std::chrono::duration<long> dur(duration);

    std::chrono::time_point<std::chrono::system_clock> dt(dur);

    if (dt != now)
        std::cout << "Failure." << std::endl;
    else
        std::cout << "Success." << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

此代码编译,但不显示成功.

为什么dt不同于now最后?

该代码缺少什么?

c++ c++11 c++-chrono

67
推荐指数
3
解决办法
7万
查看次数

标签 统计

c++ ×1

c++-chrono ×1

c++11 ×1