Version 2
This is an API-breaking release relative to v1.0.0. The biggest difference is that day_point
has been renamed to sys_days
. This change was not done lightly, but I feel it was necessary to evolve the time zone library in the best direction. Indeed, the creation of the time zone library was itself a real-world test of the date library, and this change is a result of that test.
The time zone library has seen significant changes with the introduction of local_time
, local_days
, and zoned_time
. zoned_time
, created with the helper functions make_zoned
is now the most convenient high-level API to access time zone computations.
Formatting and parsing utilities have been added to the time zone library. And "leap-second aware" clocks have also been added: utc_clock
, tai_clock
and gps_clock
. This clocks have time_points that when subtracted across leap second insertions take those inserted leap seconds into account.
Also new with this version of the time zone library is the ability to have the IANA time zone database automatically updated to the latest version on the first use by your application. This is the default setting for linux and macOS, and requires just a little extra installation effort on Windows.
The header chrono_io.h
provides streaming for the chrono::duration
types. This gets rid of the need to use .count()
and specify units manually when streaming durations.
New calendars introduced:
- Julian
- Islamic
Bug fixes include:
- Much faster database initialization, even when compiled without optimizations on.
- Port to RedHat
- Support for wide streams
- Fix overflow when minutes is 32 bits.