C ++以毫秒为单位获取时间,跨平台

时间:2015-11-15 09:04:03

标签: c++ time chrono

我想抽出时间:

  • 以毫秒(或更好)
  • 以毫秒分辨率(或更好)
  • 使用标准的跨平台方法
  • 作为无符号整数

时间戳的实际含义(也就是说,它是自纪元以来的时间还是程序的运行时间)并不重要,只要它可以用来计算准确的增量时间。

我已经尝试<time.h>,但发现它不是非常准确,有人建议不要在另一个答案中使用它。

在其他问题中建议使用

<chrono>,但它实际上并不是以整数形式返回时间,而是某种奇怪的对象。

我在<chrono>中使用的代码是auto time = std::chrono::steady_clock::now()

在Java中,这只是System.currentTimeMillis()

1 个答案:

答案 0 :(得分:0)

您需要投射到您期望的持续时间:

std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();

查看documentation