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

C++ equivalent to Python's time.time() in Linux?

本文关键字:time 相当于 Linux Python C++      更新时间:2023-10-16

我有一个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策略。两个时间值之间的比较、减法等将比双重比较和双重减法更困难。

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