[ANN] Timedesc 0.6.0

I am pleased to announce the release of Timedesc 0.6.0.

Timedesc is a very comprehensive date time handling library with good support of time zone.

Features:

  • Timestamp and date time handling with platform independent time zone support

    • Subset of the IANA time zone database is built into this library
  • Supports Gregorian calendar date, ISO week date, and ISO ordinal date

  • Supports nanosecond precision

  • ISO8601 parsing and RFC3339 printing

Changes

This release adds a fair number of quality of life improvements and additional features. Many thanks to @glennsl for the suggestions and feedback!

The most important sections of the changelog are as follows:

  • Main breaking changes:

    • Changes in ISO week date functions (shorting label for arguments, quality of life changes)

    • Removed _date suffix in names of Date.Ymd_date and Date.ISO_ord_date

  • Added “partial date” modules with ISO8601 parsing and printing facilities

    • ISO_week

    • Ym

  • Added additional ISO8601 printing facilities for all three calendar systems

    • Date.Ymd.pp/to_iso8601 (these are just aliases to the RFC3339 printers)

    • Date.ISO_week_date.pp/to_iso8601

    • Date.ISO_ord.pp/to_iso8601

  • Added additional ISO8601 parsing facilities for all three calendar systems

    • Date.Ymd.of_iso8601[_exn]

    • Date.ISO_week_date.of_iso8601[_exn]

    • Date.ISO_ord.of_iso8601[_exn]

  • Added additional comparison functions to Date

    • lt, le, gt, ge, compare
  • Added arithemtic functions to Date

  • Added pp/to_iso8601 functions as aliases to the rfc3339 functions to Timedesc

  • Patched ISO8601 parsers and RFC3339/ISO8601 printers to handle second level time zone offset

    • Rare occurrence in tzdb but picked up by some new tests
12 Likes