Linux中的C++相当于Python的time.time()?

use*_*498 6 c++ python linux

我有一个Python程序和一个C++程序.他们通过IPC进行通信.

Python将向C++程序发送JSON {"event_time":time.time()}.

C++程序将记录此时间,并根据通过Python发送的时间将事件插入到自己的事件队列中.我需要从Python和c ++中比较和减去两个时间值的操作.

Python的time.time()是一个简单的双数,可以轻松地进行比较和排序(例如,它类似于1428657539.065105).

C++中有没有与此值相同的东西?他们至少应该同意毫秒精度而不是秒精度?即,如果我在同一时间执行这两个程序,它们应该以秒为单位获得相同的值,并在毫秒范围内获得微小的差异.

如果没有,那么我必须回归使用年,月,日,小时,分钟,证券交易所,MILLISECOND策略.比较,两个时间值之间的减法等将比双重比较和双减法更难.

eca*_*mur 4

要获取自纪元以来的当前时间(以秒为单位)作为浮点值,您可以duration_cast使用浮点持续时间类型:

#include <chrono>

double fractional_seconds_since_epoch
    = std::chrono::duration_cast<std::chrono::duration<double>>(
        std::chrono::system_clock::now().time_since_epoch()).count();
Run Code Online (Sandbox Code Playgroud)