Blame README

Packit eb839c
NAME
Packit eb839c
Packit eb839c
Date::ISO8601 - the three ISO 8601 numerical calendars
Packit eb839c
Packit eb839c
DESCRIPTION
Packit eb839c
Packit eb839c
The international standard ISO 8601 "Data elements and interchange formats
Packit eb839c
- Information interchange - Representation of dates and times" defines
Packit eb839c
three distinct calendars by which days can be labelled.  It also defines
Packit eb839c
textual formats for the representation of dates in these calendars.
Packit eb839c
This module provides functions to convert dates between these three
Packit eb839c
calendars and Chronological Julian Day Numbers, which is a suitable
Packit eb839c
format to do arithmetic with.  It also supplies functions that describe
Packit eb839c
the shape of these calendars, to assist in calendrical calculations.
Packit eb839c
It also supplies functions to represent dates textually in the ISO
Packit eb839c
8601 formats.  ISO 8601 also covers time of day and time periods, but
Packit eb839c
this module does nothing relating to those parts of the standard; this
Packit eb839c
is only about labelling days.
Packit eb839c
Packit eb839c
The first ISO 8601 calendar divides time up into years, months, and days.
Packit eb839c
It corresponds exactly to the Gregorian calendar, invented by Aloysius
Packit eb839c
Lilius and promulgated by Pope Gregory XIII in the late sixteenth century,
Packit eb839c
with AD (CE) year numbering.  This calendar is applied to all time,
Packit eb839c
not just to dates after its invention nor just to years 1 and later.
Packit eb839c
Thus for ancient dates it is the proleptic Gregorian calendar with
Packit eb839c
astronomical year numbering.
Packit eb839c
Packit eb839c
The second ISO 8601 calendar divides time up into the same years as
Packit eb839c
the first, but divides the year directly into days, with no months.
Packit eb839c
The standard calls this "ordinal dates".  Ordinal dates are commonly
Packit eb839c
referred to as "Julian dates", a mistake apparently deriving from true
Packit eb839c
Julian Day Numbers, which divide time up solely into linearly counted
Packit eb839c
days.
Packit eb839c
Packit eb839c
The third ISO 8601 calendar divides time up into years, weeks, and days.
Packit eb839c
The years approximate the years of the first two calendars, so they stay
Packit eb839c
in step in the long term, but the boundaries differ.  This week-based
Packit eb839c
calendar is sometimes called "the ISO calendar", apparently in the belief
Packit eb839c
that ISO 8601 does not define any other.  It is also referred to as
Packit eb839c
"business dates", because it is most used by certain businesses to whom
Packit eb839c
the week is the most important temporal cycle.
Packit eb839c
Packit eb839c
The Chronological Julian Day Number is an integral number labelling each
Packit eb839c
day, where the day extends from midnight to midnight in whatever time zone
Packit eb839c
is of interest.  It is a linear count of days, where each day's number
Packit eb839c
is one greater than the previous day's number.  It is directly related to
Packit eb839c
the Julian Date system: in the time zone of the prime meridian, the CJDN
Packit eb839c
equals the JD at noon.  By way of epoch, the day on which the Convention
Packit eb839c
of the Metre was signed, which ISO 8601 defines to be 1875-05-20 (and
Packit eb839c
1875-140 and 1875-W20-4), is CJDN 2406029.
Packit eb839c
Packit eb839c
This module places no limit on the range of dates to which it may be
Packit eb839c
applied.  All function arguments are permitted to be "Math::BigInt" or
Packit eb839c
"Math::BigRat" objects in order to achieve arbitrary range.  Native Perl
Packit eb839c
integers are also permitted, as a convenience when the range of dates
Packit eb839c
being handled is known to be sufficiently small.
Packit eb839c
Packit eb839c
INSTALLATION
Packit eb839c
Packit eb839c
	perl Build.PL
Packit eb839c
	./Build
Packit eb839c
	./Build test
Packit eb839c
	./Build install
Packit eb839c
Packit eb839c
AUTHOR
Packit eb839c
Packit eb839c
Andrew Main (Zefram) <zefram@fysh.org>
Packit eb839c
Packit eb839c
COPYRIGHT
Packit eb839c
Packit eb839c
Copyright (C) 2006, 2007, 2009, 2011, 2017
Packit eb839c
Andrew Main (Zefram) <zefram@fysh.org>
Packit eb839c
Packit eb839c
LICENSE
Packit eb839c
Packit eb839c
This module is free software; you can redistribute it and/or modify it
Packit eb839c
under the same terms as Perl itself.