This software includes three ISO 8601 numerical calendars for users to choose from. These calendars provide accurate and standardized representations of dates and times in numerical format.
Notably, the ISO 8601 standard covers more than just dates and also covers time of day and time periods. However, this module only concerns itself with labelling days within the standard calendars. The first ISO 8601 calendar corresponds with the Gregorian calendar and divides time into years, months, and days. Unlike the Gregorian calendar, it is not limited to post-invention dates nor years from 1 AD (CE). Instead, it is proleptic and applies to all time, including ancient dates labeled with astronomical year numbering.
The second ISO 8601 calendar, referred to as "ordinal dates", directly divides the year into days without dividing them into months. Ordinal dates are sometimes mistakenly referred to as "Julian dates," though the latter actually divide time solely into linearly counting days. The third calendar delineates years, weeks, and days and is sometimes called "the ISO calendar" or "business dates" since it is most commonly used by business who prioritize weeks as their paramount temporal cycle.
The Chronological Julian Day Number is an integral number that assigns each day a label from midnight to midnight in any time zone of interest. It is a linear count, with each day's number being one greater than the previous day. It relates directly to the Julian Date system, with CJDN equaling JD at noon in the prime meridian time zone. The module makes the day on which the Convention of the Metre occurred (1875-05-20) CJDN 2406029 via epoch definition.
One of the great features of this module is that it supports an arbitrary range of dates with no restrictions. Users may choose to input function arguments as Math::BigInt or Math::BigRat objects for extreme ranges or Perl integers for smaller ranges. With Date::ISO8601, users have a suite of functions for working with different ISO 8601 calendars of their choosing to convert dates to CJDN, to present dates in various formats, as well as to perform calendrical calculations.
Version 0.003: N/A