Date::Manip - date manipulation routines
This is a set of routines designed to make any common date/time
manipulation easy to do. Operations such as comparing two times,
calculating a time a given amount of time from another, or parsing
international times are all easily done. From the very beginning, the main
focus of Date::Manip has been to be able to do ANY desired date/time
operation easily, not necessarily quickly. Also, it is definitely oriented
towards the type of operations we (as people) tend to think of rather than
those operations used routinely by computers. There are other modules that
can do a subset of the operations available in Date::Manip much quicker
than those presented here, so be sure to read the section SHOULD I USE
DATE::MANIP below before deciding which of the Date and Time modules from
CPAN is for you.
Date::Manip deals with time as it is presented the Gregorian calendar (the
one currently in use). The Julian calendar defined leap years as every 4th
year. The Gregorian calendar improved this by making every 100th year NOT
a leap year, unless it was also the 400th year. The Gregorian calendar has
been extrapolated back to the year 0000 AD and forward to the year 9999 AD.
Note that in historical context, the Julian calendar was in use until 1582
when the Gregorian calendar was adopted by the Catholic church. Protestant
countries did not accept it until later; Germany and Netherlands in 1698,
British Empire in 1752, Russia in 1918. Note that the Gregorian calendar
is itself imperfect and at some point may need to be corrected. No attempt
is made to correct for that, and my great great great grandchildren will be
long dead before this even occurs, so it's not an immediate concern. Yes,
this is similar to the attitude that caused the great Y2K problem... but
I have an excuse: I don't know what the correction will be, so I can't
possibly implement it. Nobody doubted that the year after 1999 would be
known as 2000 :-).
Date::Manip is therefore not equipped to truly deal with historical dates,
but should be able to perform (virtually) any operation dealing with a
modern time and date.
Date::Manip has (or will have) functionality to work with several fundamental
types of data.