包括标准标头
<chrono>
,定义表示和操作持续时间及时刻的类和函数。
从 Visual Studio 2015 开始,
steady_clock
的实现已更改,以便满足 C++ 标准对稳定性和单一性的需求:
steady_clock
现在基于
QueryPerformanceCounter()
high_resolution_clock
现在是
steady_clock
的 typedef。在 Microsoft C++ 实现中,
steady_clock::time_point
现在是
chrono::time_point<steady_clock>
的
typedef
。 但是,其他实现不一定是这样。
标头:
<chrono>
区域立法机构偶尔会对时区进行更改,而国际标准机构指定何时应考虑新的闰秒。 这些更改的数据库已添加到 Windows 10。 具体而言:
Feature
客户端版本
服务器版本
typedef duration<long long, nano> nanoseconds;
刻度周期为十亿分之一 (1/1,000,000,000) 秒的
duration
类型的同义词。
typedef duration<long long, micro> microseconds;
刻度周期为一百万分之一 (1/1,000,000) 秒的
duration
类型的同义词。
typedef duration<long long, milli> milliseconds;
刻度周期为千分之一 (1/1,000) 秒的
duration
类型的同义词。
typedef duration<long long> seconds;
时钟周期为 1 秒的
duration
类型的同义词。
typedef duration<int, ratio<60>> minutes;
时钟周期为 1 分钟的
duration
类型的同义词。
typedef duration<int, ratio<3600>> hours;
时钟周期为 1 小时的
duration
类型的同义词。
便利
time_point
类型
file_time
time_point<file_clock, Duration>
的同义词。 表示
file_clock
的
time_point
。 你需要指定
Duration
,例如
file_time<seconds> ft;
。
gps_seconds
gps_time<seconds>;
的同义词。秒数,由与
gps_clock
关联的
time_point
表示。
gps_time
time_point<gps_clock, Duration>
的同义词。 表示
gps_clock
的
time_point
。 你需要指定
Duration
,例如
gps_time<milliseconds> gps;
。
local_days
local_time<days>
的同义词。 天数计数,由与任何时区都不关联的
time_point
表示。
local_seconds
local_time<seconds>
的同义词。
local_time
time_point<local_t, Duration>
的同义词。 表示尚未与时区关联的本地时间的
time_point
。 你需要指定
Duration
,例如
local_time<seconds> lt;
。
local_time
是某个地方的本地时间。 这不是计算机时钟的当前本地时间。 仅当将
local_time
与
time_zone
配对时,才能获得可转换为 UTC 时间点或特定时区时间的时间点。
sys_days
sys_time<days>
的同义词。 自 system_clock 纪元以来的天数,由与
system_clock
关联的
time_point
表示。
sys_seconds
sys_time<seconds>
的同义词。 自
system_clock
纪元(1970 年 1 月 1 日 00:00:00 UTC )的非闰秒计数,由与
system_clock
关联的
time_point
表示。
sys_time
time_point<system_clock, Duration>
的同义词。 你需要指定
Duration
,例如
sys_time<seconds> st;
。 表示从
system_clock::now()
返回的
time_point
。 它表示 Unix 时间,与 UTC 时间接近。
tai_seconds
tai_time<seconds>
的同义词。 秒计数,由与
tai_clock
关联的
time_point
表示。
tai_time
time_point<tai_clock, Duration>
的同义词。 你需要提供
Duration
,例如
tai_time<seconds> tt;
。 表示
tai_clock
的
time_point
。
utc_seconds
utc_time<seconds>;
的同义词
utc_time
time_point<utc_clock, Duration>
的同义词。 你需要提供
Duration
,例如
utc_time<seconds> ut;
。 表示
utc_clock
的
time_point
。
constexpr auto day = 24h;
constexpr auto week = 24h* 7;
constexpr auto my_duration_unit = 108ms;
头文件引用