cpp/chrono

C++ includes support for two types of time manipulation:


 * The library, a flexible collection of types that track time with varying degrees of precision (e.g. std).
 * C-style date and time library (e.g. std)

library
The library defines three main types as well as utility functions and common typedefs.
 * clocks
 * time points
 * durations

Clocks
A clock consists of a starting point (or epoch) and a tick rate. For example, a clock may have an epoch of January 1, 1970 and tick every second. C++ defines several clock types:

Time point
A time point is a duration of time that has passed since the epoch of a specific clock.

Duration
A duration consists of a span of time, defined as some number of ticks of some time unit. For example, "42 seconds" could be represented by a duration consisting of 42 ticks of a 1-second time unit.

Time of day
splits a duration representing time elapsed since midnight into hours, minutes, seconds, and fractional seconds, as applicable. It is primarily a formatting tool.

C-style date and time library
Also provided are the C-style date and time functions, such as std, std, and clocks_per_sec.