如何在c ++中获得毫秒?

时间:2015-11-03 17:16:37

标签: c++ time milliseconds

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

1 个答案:

答案 0 :(得分:5)

使用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),它的一部分确实是当前时刻的实际毫秒测量值。