std::chrno::system_clock::time_point
时间: 2024-10-03 15:03:09 浏览: 43
`std::chrono::system_clock::time_point` 是C++ `<chrono>`库中的一个时间点类型,它代表了一个特定的瞬间,用于表示时间和持续时间。在这个库中,`system_clock`通常用来获取与操作系统同步的时间戳,因为它反映了系统的实际运行时间。
1. 记录程序运行耗时[^1]:
```cpp
// 获取开始时间
std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();
// 执行测试程序...
// 获取结束时间并计算时间差
std::chrono::steady_clock::time_point t2 = std::chrono::steady_clock::now();
std::chrono::duration<double> time_used = std::chrono::duration_cast<std::chrono::duration<double>>(t2 - t1);
// 输出耗时
std::cout << ".******************solve time cost = " << time_used.count() << " seconds. " << std::endl;
```
2. 获取当前系统时间:
```cpp
// 获得从1970年1月1日(UTC)到现在的秒数
auto tt = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
// 使用localtime将该秒数转换为本地时间结构体
struct tm* ptm = localtime(&tt);
// 格式化时间为字符串
char date[60];
sprintf(date, "%d-%02d-%02d %02d:%02d:%02d", (int)ptm->tm_year + 1900, (int)ptm->tm_mon + 1, (int)ptm->tm_mday, (int)ptm->tm_hour, (int)ptm->tm_min, (int)ptm->tm_sec);
// 返回字符串形式的当前时间
std::string currentTime = std::string(date);
std::cout << "getCurrentSystemTime()" << currentTime << std::endl;
```
阅读全文