C++ provides std::chrono::system_clock::time_point that represents time, that works well with other classes such as durations (std::chrono::milliseconds, etc.). However, it isn't always sufficient for date time manipulations because of daylight savings and leap years. Since time_point represents time interval since the clock's epoch,