Namespace Standards

Dave Rolsky edited this page Jan 30, 2017 · 4 revisions

This document attempts to define the the various 2nd tier DateTime namespaces and the appropriate functionality of modules residing there. Namespace Allocation

Module authors who want to put a module in the DateTime::* namespace are strongly encouraged to write to the mailing list first. Please do not create a new 2nd tier namespace without first seeking approval from the list. Unless specifically noted as open most 2nd tier namespaces should not be used for new modules. Authors

All DateTime authors are encouraged to consult the mailing list before uploading any modules that start with DateTime::.

The Namespaces

Currently there are 18 official 2nd tier namespaces in the DateTime Suite.


Obviously this is the root namespace. is the generic DateTime object implementing the Gregorian calendar.


Modules implementing calendars that can be converted to/from other DateTime and other DateTime::Calendar::* objects. Please see datetime-calendar.pod for developer documentation.

This is an open namespace.


This is a simple class for representing duration objects. These objects are used whenever you do date math with


Modules implementing the occurrence of an event.

This is an open namespace.


Conceding that all calendars are merely imperfect human works is a requirement before placing your module here.

"Weighing in late, but I just don't buy the idea that a 'fictional' calendar is any more fictional than, say, the Discordian or Napoleonic calendar. All calendars are the creation of some human - they are all artificial in some respect. Squirreling these away in some other name space seems even more artificial." - Rich Bowen

This is somewhat of an unusual namespace. It is intended for modules implementing calendars from fictional works. This namespace is exempted from the requirement to be interoperable with DateTime and DateTime::*. It is suggested that the namespace include the author's name at the 3rd/4th tier. For Example:

  • DateTime::Fiction::Brust::Steven::Dragaera
  • DateTime::Fiction::Sony::Utopia
  • DateTime::Fiction::Tolkien::JRR::MiddleEarth
  • DateTime::Fiction::Bear::Greg::Mars

This is an open namespace.


Financial and business oriented calculations.

This is an open namespace.


Modules capable of parsing specific Date/Time formats and/or being able to format strings. The word "Format" in this namespace should be read as a noun, not a verb. In other words, modules in this namespace deal with a format, as opposed to doing formatting only.

This is an open namespace.


Sub-second current time resolution.


Supports the partial date & time thing.


Infinite past and future DateTime objects.


Deprecated. See DateTime::Locale


Leap seconds table and utilities.


The new implementation of localization support for that was introduced with version '0.14'.


Contains the ICU locale listings.


This namespace pre-dates and is unrelated to the DateTime Suite.


DateTime sets and set math.


DateTime time-ranges.


Sets of DateTime spans.


Time zone objects and base class.


Contains the Olson time zone listings.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.