Changes for version 0.89 - 2026-06-02

  • str2time now folds a leap second (23:59:60) onto 23:59:59 instead of rolling it over to the next day's 00:00:00, and validates that it lands on a leap-second slot: 23:59:60 UTC on June 30 or December 31, from 1972 onward. The check is table- free. str2date accepts any HH:MM:60, since a leap second's local time of day depends on the UTC offset.
  • Add Time::LeapSecond module: leap second history with TAI/UTC conversions (posix_tai_offset, posix_to_tai, tai_to_posix) and rdn_leap_correction for testing whether a calendar day carries a leap second. The table can be refreshed from a system file via load_leapseconds_tzdb (IANA TZDB) or load_leapseconds_iers (IERS/NIST).

Documentation

Modules

Leap second table with TAI/UTC conversions
Parse and format date/time strings in multiple standard formats
Gregorian calendar validation and computation
Precompiled regular expressions for date/time formats
Time validation and epoch conversion
Convert captured date/time tokens to semantic values
Binary search and time zone database utilities
TZif timezone file parser with configurable local time resolution
POSIX TZ string parser with configurable local time resolution

Provides

in lib/Time/Str/PP.pm