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

时间:2015-04-10 09:41:26

标签: python c++ linux

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

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

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

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

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

如果没有,那么我必须回归使用YEAR,MONTH,DAY,HOUR,MIN,SEC,MILLISECOND策略。比较,两个时间值之间的减法等将比双重比较和双减法更难。

1 个答案:

答案 0 :(得分:2)

要获取自纪元以来的当前时间(以秒为单位)作为浮点值,您可以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();