时间段的表示
tmplate<class Rep,class Period=ratio<1>>
class duration;
duration类被用来表示时间段的计量器,Rep表示计量值,Period表示计量单位,该单位建立在与second的比率上。
时间点的表示
template<class Clock,class Duration=typename Clock::duration>
class time_point;
time_point类表示时间点,一个时间点由其和零时间点之间的时间段来表示。Clock表示时钟,不同的时钟可能有不同的零时间点及时间精度。Duration即为duration,表示时间计量器。
时钟
C++标准库有2种钟:system_clock、steady_clock
system_clock被预期用于表示现实世界的真正时间,而steady_clock只被预期用于产生时间差。两者都有一个静态成员函数now来产生当前的时间点。system_clock有成员函数可将time_t 对象与time_point对象互相转换。steady_clock不受系统时间被用户改变的影响,而system_clock则会被影响。
high_resolution_clock是system_clock和steady_clock中精度比较高的那一个,而不是新的钟类型。
duration_cast
duration_cast用于将duration进行转换成另一个类型的duration。
time_point_cast
time_point_cast用于将time_point转换成另一个类型的time_point,但时钟类型不能改变。
操作:
chrono库定义了时间的常用操作:时间段可加减、相互比较。时间点可相互比较,与时间段相加减产生新的时间点。