如何在 C++ 中获取毫秒数?
How to get milliseconds in c++?
首先我不想使用#include <ctime>
和time(0);
的时间(0);与ctime。我想要的是如果说时间是 10:13:40:23 AM 我会得到 23 的值。我在网上看了一会儿,除了 ctime 找不到任何东西,但 ctime 是以毫秒为单位的系统时间,这意味着价值真的很高。另一个例子是 12:56:30:192 PM,我会得到 192 的值。感谢您的帮助:)。
使用 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),这部分确实是当前时刻的实际毫秒测量值。
首先我不想使用#include <ctime>
和time(0);
的时间(0);与ctime。我想要的是如果说时间是 10:13:40:23 AM 我会得到 23 的值。我在网上看了一会儿,除了 ctime 找不到任何东西,但 ctime 是以毫秒为单位的系统时间,这意味着价值真的很高。另一个例子是 12:56:30:192 PM,我会得到 192 的值。感谢您的帮助:)。
使用 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),这部分确实是当前时刻的实际毫秒测量值。