小编典典

如何像 Java 一样获取自 1970 年以来的当前时间戳(以毫秒为单位)

all

在 Java 中,我们可以使用System.currentTimeMillis()从纪元时间开始以毫秒为单位获取当前时间戳,即 -

当前时间与 UTC 1970 年 1 月 1 日午夜之间的差异,以毫秒为单位。

在 C++ 中如何获得相同的东西?

目前我正在使用它来获取当前时间戳 -

struct timeval tp;
gettimeofday(&tp, NULL);
long int ms = tp.tv_sec * 1000 + tp.tv_usec / 1000; //get current timestamp in milliseconds

cout << ms << endl;

这看起来对不对?


阅读 72

收藏
2022-08-16

共1个答案

小编典典

如果您有权访问 C++ 11
库,请查看该std::chrono库。您可以使用它来获取自
Unix 纪元以来的毫秒数,如下所示:

#include <chrono>

// ...

using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(
    system_clock::now().time_since_epoch()
);
2022-08-16