Date::Manip - Date manipulation routines



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.

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 (year, month, day), a time of day (hour, minute, second), 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). Think of it as the duration of an event or the amount of time between two 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:

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 the Date::Manip::Interfaces manpage 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.

the Date::Manip::Interfaces manpage
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:

the Date::Manip::DM5 manpage
The version 5 functional interface

the Date::Manip::DM6 manpage
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:

the Date::Manip::Objects manpage
An overview of the various Date::Manip modules, and how to use them.

the Date::Manip::Config manpage
Information for configuring Date::Manip

Date::Manip object-oriented modules

These are the modules for using the object-oriented interface.

the Date::Manip::Obj manpage
This is the base class. All other classes listed here inherit the methods defined in this class.

the Date::Manip::Base manpage
A module for doing low-level date operations.

the Date::Manip::TZ manpage
A module for working with time zones.

the Date::Manip::Date manpage
The module for working with dates.

the Date::Manip::Delta manpage
The module for working with deltas (amount of time).

the Date::Manip::Recur manpage
The module for working with recurrences (recurring dates).

Timezone information

the Date::Manip::DM5abbrevs manpage
Time zone abbreviations used in the version 5 interface.

the Date::Manip::Zones manpage
Time zone data included in Date::Manip used in the version 6 interfaces.

Miscellaneous information:

the Date::Manip::Calc manpage
Detailed information on how date calculations are done.

the Date::Manip::Holidays manpage
Information on defining and using holidays and events.

the Date::Manip::ConfigFile manpage
A sample config file.

the Date::Manip::Lang manpage
Information about the languages supported by Date::Manip and how to add a new language.

the Date::Manip::Lang::english manpage
the Date::Manip::Lang::catalan manpage
the Date::Manip::Lang::danish manpage
the Date::Manip::Lang::dutch manpage
the Date::Manip::Lang::finnish manpage
the Date::Manip::Lang::french manpage
the Date::Manip::Lang::german manpage
the Date::Manip::Lang::italian manpage
the Date::Manip::Lang::norwegian manpage
the Date::Manip::Lang::polish manpage
the Date::Manip::Lang::portugue manpage
the Date::Manip::Lang::romanian manpage
the Date::Manip::Lang::russian manpage
the Date::Manip::Lang::spanish manpage
the Date::Manip::Lang::swedish manpage
the Date::Manip::Lang::turkish manpage
A description of the parseable words in each language currently supported by Date::Manip.

Information about the module and administrative things:

the Date::Manip::Migration5to6 manpage
Information on changes necessary to scripts when upgrading from 5.xx to 6.xx.

the Date::Manip::Changes5 manpage
Change log for Date::Manip 5.xx

the Date::Manip::Changes5to6 manpage
Differences between version 5.xx and 6.00 (including information on upgrading); this contains more details than the Migration5to6 document.

the Date::Manip::Changes6 manpage
Change log for Date::Manip 6.xx

the Date::Manip::Misc manpage
Miscellaneous information about Date::Manip (who should use it; acknowledgments).

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 the Date::Manip::Misc manpage 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.

the Date::Manip::History manpage
Musings on the history of Date::Manip written around it's 20th birthday.

the Date::Manip::Problems manpage
Common problems and instructions for reporting bugs.

the Date::Manip::Examples manpage
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)

 Date::Manip - Date manipulation routines