NAME
Date::Manip - Date manipulation routines
DESCRIPTION
Date::Manip is a series of modules designed to make any common date/time
operation easy to do. Operations such as comparing two times,
determining a date a given amount of time from another, or parsing
international times are all easily done. It deals with time as it is
used in the Gregorian calendar (the one currently in use) with full
support for time changes due to daylight saving time.
From the very beginning, the main focus of Date::Manip has been to be
able to do ANY desired date/time operation easily. Many other modules
exist which may do a subset of these operations quicker or more
efficiently, but no other module can do all of the operations available
in Date::Manip.
Since many other date/time modules exist, some of which may do the
specific operation(s) you need faster, be sure to read "SHOULD I USE
DATE::MANIP" in Date::Manip::Misc before deciding which of the Date and
Time modules from CPAN is for you. However, if you want one module to do
it all, Date::Manip is the one to use.
Date::Manip has functionality to work with several fundamental types of
data.
dates
The word date is used extensively here and is somewhat misleading.
In Date::Manip, a date consists of three pieces of information: a
calendar date, a time of day, and time zone information. Calendar
dates and times are fully handled. Time zones are handled as well,
but depending on how you use Date::Manip, there may be some
limitations as discussed below.
delta
A delta is an amount of time (i.e. the amount of time between two
different dates). A delta refers only to an amount of time. It
includes no information about a starting or ending date/time. Most
people will think of a delta as an amount of time, but the term
'time' is already used so much in this module that I didn't want to
use it here in order to avoid confusion.
recurrence
A recurring event is something which occurs on a regular recurring
basis.
holidays and events
Holidays and events are basically named dates or recurrences.
Among other things, Date::Manip allow you to:
* Enter a date in practically any format you choose.
* Compare two dates, entered in widely different formats to determine
which is earlier.
* Extract any information you want from a date using a format string
similar to the Unix date command.
* Determine the amount of time between two dates, or add an amount of
time to a date to get a second date.
* Work with dates with dates using international formats (foreign
month names, 12/10/95 referring to October rather than December,
etc.).
* To find a list of dates where a recurring event happens.
Each of these tasks is trivial (one or two lines at most) with this
package.
HOW TO USE DATE::MANIP
There are three different ways to use Date::Manip . There are three
interfaces (version 5 functional interface, version 6 functional, and
version 6 object-oriented). A complete description of each is included
in the Date::Manip::Interfaces document. The recommended (and the only
one with access to the full functionality of the module) is using the
Object-Oriented interface.
SEE ALSO
Because Date::Manip performs so many operations, the documentation is
extensive. It includes the following documents:
Information about the different interfaces
Read this for a detailed description of each of the interfaces,
including information on how to choose and use the interface best suited
to your situation.
Date::Manip::Interfaces
A complete description of the functional interfaces available. NOTE:
it is recommended that you use the OO interface wherever possible as
the functional interfaces have some imitations.
A description of the functional interfaces:
Date::Manip::DM5
The version 5 functional interface
Date::Manip::DM6
The version 6 functional interface
Objects and configuration
An introduction to the Date::Manip classes used by the object-oriented
interface and how to configure them:
Date::Manip::Objects
An overview of the various Date::Manip modules, and how to use them.
Date::Manip::Config
Information for configuring Date::Manip
Date::Manip object-oriented modules
These are the modules for using the object-oriented interface.
Date::Manip::Obj
This is the base class. All other classes listed here inherit the
methods defined in this class.
Date::Manip::Base
A module for doing low-level date operations.
Date::Manip::TZ
A module for working with time zones.
Date::Manip::Date
The module for working with dates.
Date::Manip::Delta
The module for working with deltas (amount of time).
Date::Manip::Recur
The module for working with recurrences (recurring dates).
Timezone information
Date::Manip::DM5abbrevs
Time zone abbreviations used in the version 5 interface.
Date::Manip::Zones
Time zone data included in Date::Manip used in the version 6
interfaces.
Miscellaneous information:
Date::Manip::Calc
Detailed information on how date calculations are done.
Date::Manip::Holidays
Information on defining and using holidays and events.
Date::Manip::ConfigFile
A sample config file.
Date::Manip::Lang
Information about the languages supported by Date::Manip and how to
add a new language.
Date::Manip::Lang::english
Date::Manip::Lang::catalan
Date::Manip::Lang::danish
Date::Manip::Lang::dutch
Date::Manip::Lang::finnish
Date::Manip::Lang::french
Date::Manip::Lang::german
Date::Manip::Lang::italian
Date::Manip::Lang::norwegian
Date::Manip::Lang::polish
Date::Manip::Lang::portugue
Date::Manip::Lang::romanian
Date::Manip::Lang::russian
Date::Manip::Lang::spanish
Date::Manip::Lang::swedish
Date::Manip::Lang::turkish
A description of the parseable words in each language currently
supported by Date::Manip.
Information about the module and administrative things:
Date::Manip::Migration5to6
Information on changes necessary to scripts when upgrading from 5.xx
to 6.xx.
Date::Manip::Changes5
Change log for Date::Manip 5.xx
Date::Manip::Changes5to6
Differences between version 5.xx and 6.00 (including information on
upgrading); this contains more details than the Migration5to6
document.
Date::Manip::Changes6
Change log for Date::Manip 6.xx
Date::Manip::Misc
Miscellaneous information about Date::Manip (who should use it;
acknowledgments).
Date::Manip::History
Musings on the history of Date::Manip written around it's 20th
birthday.
Date::Manip::Problems
Common problems and instructions for reporting bugs.
Date::Manip::Examples
Examples of how to use Date::Manip.
LICENSE
This script is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
AUTHOR
Sullivan Beck (sbeck@cpan.org)