Date::Manip(3)
π Date::Manip π
okay bestie, gather round, because we're talking about Date::Manip β the Perl date-manipulation routines that literally do everything ποΈβ¨
β¨ NAME β¨
Date::Manip β date manipulation routines. yes that's it, that's the whole name, and it's iconic for it π
πΈ DESCRIPTION πΈ
Date::Manip is a whole little series of modules built so that any common date/time operation is stupidly easy to do. comparing two times? determining what date is a given amount of time away from another? parsing international times? all of it, easy, no cap. it deals with time the way it's used in the Gregorian calendar (that's the one we're all living in rn) with full support for time changes caused by daylight saving time π°οΈπ«
from the very beginning, the main focus of Date::Manip has been to do ANY desired date/time operation easily. sure, lots of other modules exist that might do a subset of these operations quicker or more efficiently, but no other module can do all of the operations available in Date::Manip. periodt. π
Date::Manip has functionality to work with several fundamental types of data π
ποΈ dates
the word date is used a LOT here and honestly it's a little misleading. in Date::Manip, a date is three pieces of information bundled up: a calendar date (year, month, day), a time of day (hour, minute, second), and time zone info. 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, which we get into below π«Ά
β³ delta
a delta is an amount of time (like, the amount of time between two different dates). think of it as the duration of an event, or how long it takes to get from one date to another.
a delta refers only to an amount of time. it carries zero information about a starting or ending date/time. most people would just call this "an amount of time," but the term time is already used sooo much in this module that the author didn't want to use it here and cause chaos. fair tbh π
π recurrence
a recurring event is something that occurs on a regular recurring basis. that's it, that's the vibe. π
π holidays and events
holidays and events are basically just named dates or recurrences. cute, convenient, obsessed. π
among other things, Date::Manip lets you:
- enter a date in practically any format you choose π¦
- compare two dates entered in wildly different formats to figure out which one is earlier
- extract any info you want from a date using a format string similar to the Unix
datecommand - determine the amount of time between two dates, or add an amount of time (a delta) to a date to get a second date β
- work with dates using international formats (foreign month names,
12/10/95referring to October rather than December, etc.) π - convert dates from one timezone to another
- 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. not me being dramatic, it's literally true π
π§ HOW TO USE DATE::MANIP π§
there are three different ways to use Date::Manip. there are three interfaces:
- the version 5 functional interface
- the version 6 functional interface
- the version 6 object-oriented interface
a complete description of each one lives in the Date::Manip::Interfaces document. the recommended one β 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 info 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 limitations.
π οΈ A description of the functional interfaces:
Date::Manip::DM5β the version 5 functional interfaceDate::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 variousDate::Manipmodules, and how to use them.Date::Manip::Configβ information for configuringDate::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 inDate::Manipused 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 byDate::Manipand how to add a new language.Date::Manip::Lang::englishDate::Manip::Lang::catalanDate::Manip::Lang::danishDate::Manip::Lang::dutchDate::Manip::Lang::finnishDate::Manip::Lang::frenchDate::Manip::Lang::germanDate::Manip::Lang::italianDate::Manip::Lang::norwegianDate::Manip::Lang::polishDate::Manip::Lang::portugueDate::Manip::Lang::romanianDate::Manip::Lang::russianDate::Manip::Lang::spanishDate::Manip::Lang::swedishDate::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 forDate::Manip5.xxDate::Manip::Changes5to6β differences between version 5.xx and 6.00 (including information on upgrading); this contains more details than theMigration5to6document.Date::Manip::Changes6β change log forDate::Manip6.xxDate::Manip::Miscβ miscellaneous information aboutDate::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" inDate::Manip::Miscbefore deciding which of theDateandTimemodules from CPAN is for you. however, if you want one module to do it all,Date::Manipis the one to use. π―
Date::Manip::Historyβ musings on the history ofDate::Manipwritten around it's 20th birthday. πDate::Manip::Problemsβ common problems and instructions for reporting bugs. πDate::Manip::Examplesβ examples of how to useDate::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 (https://github.com/SBECK-github/) β thank you king πββοΈπ
and that's the whole page bestie!! this was Date::Manip from perl v5.42.3, dated 2026-09-01 πβ¨ go forth and manipulate some dates, you've got this π
π
π¦ where this page comes from
- fedora 43: perl-Date-Manip 7.00-1.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- fedora 44: perl-Date-Manip 7.00-1.fc44 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms