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


Dates and times are a complex subject, and this site only covers a fraction of it. See these resources for more details.


Calendrical Calculations, by Edward M. Reingold and Nachum Dershowitz

  • This book contains algorithms for many different calendars, both modern and historical. The book has a website.

Online Resources

  • The Many Dates and Times of Perl - An article by Dave Rolsky on which specifically addresses datetime manipulation in Perl. The article includes a fairly comprehensive list of non-DateTime project Perl modules that deal with dates and/or times.
  • Claus Tondering's calendar FAQ - This faq covers topics such as the astronomical events on which some calendars are based, the Julian and Gregorian calendars' usage and history, and explains how a number of other calendars work, such as the French Revolutionary and Mayan calendars.
  • - This site has lots of good date and time information. The exhibits links are all interesting.
  • ISO 8601 Final Draft - This is a downloadable PDF version of the final draft of ISO 8601. ISO 8601 is a standard defining representations for datetime and time periods. Many applications implement these standards, so it is worth reading. Also see the dmoz ISO 8601 category.
  • RFC 2445 - the iCalendar RFC.
  • Olson Time Zone database - Information on the Olson time zone database. This is the standard time zone database used in computing, and is the one used by the DateTime::TimeZone module.
  • About Daylight Saving Time - a comprehensive history and explanation of the Daylight Saving Time system.
  • Universal Time on Wikipedia - An explanation of what Universal Time is.
  • The Best of Dates, the Worst of Dates - This contains some of the history of calendars and time calculations, but also discusses some common mistakes made by programmers when dealing with dates and times.
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.