C++获取当前毫秒数
在 C++11 中,可以使用 <chrono>
头文件中的 std::chrono::system_clock
类来获取当前时间戳。它提供了多种精度和分辨率的时钟类型,其中最常用的是系统时钟。
以下是一个示例程序,演示如何使用 std::chrono::system_clock
类获取当前毫秒数:
cpp复制代码
#include <iostream>
#include <chrono>
int main() {
// 获取当前时间戳
auto now = std::chrono::system_clock::now();
// 将时间戳转换为毫秒数
auto now_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
auto value = now_ms.time_since_epoch().count();
// 输出毫秒数
std::cout << "Milliseconds since epoch: " << value << std::endl;
return 0;
}
在上面的示例程序中,首先使用 std::chrono::system_clock::now()
函数获取当前时间戳,然后使用 std::chrono::time_point_cast
函数将时间戳转换为毫秒级别的时间点,并调用 count
方法获取其值。
需要注意的是,count()
方法返回的是一个整数类型的计数器值,表示自 Unix 纪元以来经过的时间单位数。如果要输出其他时间单位,可以使用相应的 time_point
和 duration
类型及其成员函数进行转换。