text: Date and time utilities
  C++ includes support for two types of time manipulation:
  - The
  chronolibrary, a flexible collection of types that track time with varying degrees of precision (e.g. std::chrono::time_point).
  - C-style date and time library (e.g. std::time)
  std::chrono library
  The
  chrono 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
  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.
  Calendar
  Time zone
  chrono I/O
  C-style date and time library
  Also provided are the C-style date and time functions, such as std::time_t, std::difftime, and CLOCKS_PER_SEC.
  Example
  This example displays information about the execution time of a function call:
  #include <iostream> #include <chrono> #include <ctime> long fibonacci(unsigned n) { if (n < 2) return n; return fibonacci(n-1) + fibonacci(n-2); } int main() { auto start = std::chrono::system_clock::now(); std::cout << "f(42) = " << fibonacci(42) << '\n'; auto Oct 2 00:59:08 2017 elapsed time: 1.88232s