【问题标题】:How to get milliseconds in c++? [duplicate]如何在 C++ 中获得毫秒? [复制]
【发布时间】:2015-11-03 17:16:36
【问题描述】:

首先我不想使用#include <ctime>time(0); time(0);是与 ctime。我想要的是如果说时间是上午 10:13:40:23 我会得到 23 的值。我在网上看了一会儿,除了 ctime 之外找不到任何东西,但 ctime 是以毫秒为单位的系统时间意思是价值真的很高。另一个例子是下午 12:56:30:192,我会得到 192 的值。感谢您的帮助:)。

【问题讨论】:

  • 这取决于平台。你用的是什么平台?
  • Windows 7。我也在使用 minGW 编译器。
  • 请注意,如果您只是修改 1000
  • 现在标准库中有<chrono>
  • @MrQandA “我尝试了 ,但它没有编译。” std::chrono 从 C++11 开始可用,这是当前的标准。您可能需要使用编译器的-std=c++11 选项启用它。

标签: c++ time milliseconds


【解决方案1】:

对于 C++ 11,使用 std::chrono 库。

#include <iostream>
#include <chrono> 

int main()
{

    auto now = std::chrono::system_clock::now();

    std::chrono::milliseconds ms_since_epoch = std::chrono::duration_cast< std::chrono::milliseconds >(now.time_since_epoch());
    std::chrono::seconds seconds_since_epoch = std::chrono::duration_cast< std::chrono::seconds >(now.time_since_epoch());

    std::cout << (ms_since_epoch - seconds_since_epoch).count() << std::endl;

    return 0;
}

考虑到秒数,模 1000 与减去秒数相同。 无论如何,鉴于纪元是规范的(秒为 00,毫秒为 000),它的那部分确实是当前时刻的实际毫秒测量值。

【讨论】:

  • 这给出了自纪元以来的总毫秒数。
  • 是的,已解决,谢谢。
猜你喜欢
  • 2023-04-08
  • 2017-02-15
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 2013-03-27
相关资源
最近更新 更多