我有一个Python程序和一个C++程序.他们通过IPC进行通信.
Python将向C++程序发送JSON {"event_time":time.time()}.
C++程序将记录此时间,并根据通过Python发送的时间将事件插入到自己的事件队列中.我需要从Python和c ++中比较和减去两个时间值的操作.
Python的time.time()是一个简单的双数,可以轻松地进行比较和排序(例如,它类似于1428657539.065105).
C++中有没有与此值相同的东西?他们至少应该同意毫秒精度而不是秒精度?即,如果我在同一时间执行这两个程序,它们应该以秒为单位获得相同的值,并在毫秒范围内获得微小的差异.
如果没有,那么我必须回归使用年,月,日,小时,分钟,证券交易所,MILLISECOND策略.比较,两个时间值之间的减法等将比双重比较和双减法更难.
要获取自纪元以来的当前时间(以秒为单位)作为浮点值,您可以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)