转自https://www.cnblogs.com/c9080/p/17509268.html,在 C++11 中,可以使用 <chrono>
头文件中的 std::chrono::system_clock
类来获取当前时间戳。它提供了多种精度和分辨率的时钟类型,其中最常用的是系统时钟。
以下是一个示例程序,演示如何使用 std::chrono::system_clock
类获取当前毫秒数:
#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
类型及其成员函数进行转换。