Supports date range from year 0001 to end of year 9999 with 100ns (7 decimal places for fractional second) precision.

Remarks
std::chrono::system_clock::time_point can't be used, because there is no guarantees for the date range and precision.
This class is supposed to be able to handle a DateTime that comes over the wire.