第三节 · 逻辑的空间 · 定长状态表bitset
C++11 的 <chrono> 库提供了类型安全的时间处理功能,C++20 进一步增强了日历和时区支持。
时间点和时长
#include <chrono>
using namespace std::chrono;
int main()
{
// 获取当前时间点
auto now = system_clock::now();
// 时长
seconds sec(5);
milliseconds ms(5000);
microseconds us(5000000);
// 时长转换
cout << duration_cast<seconds>(ms).count() << "s" << endl; // 5s
cout << duration_cast<milliseconds>(sec).count() << "ms" << endl; // 5000ms
return 0;
}测量时间
不同的时钟
时钟
说明
system_clock
系统时间,可以与日历时间转换
steady_clock
单调时钟,适合测量时间间隔
high_resolution_clock
最高精度时钟
utc_clock
UTC 时间(C++20)
时长字面量(C++14)
定时器实现
日期处理(C++20)
日期算术(C++20)
时区(C++20)
格式化时间(C++20)
实用函数
习题
实现一个秒表类,支持开始、暂停、继续、重置功能。
计算任意两个日期之间相差的天数。
编写一个函数,输出距离指定日期还有多少天。
Last updated