DateTime::Calendar::CopticEthiopic - DateTime Module for the Coptic/Ethiopic Calendar System.


 use DateTime::Calendar::CopticEthiopic;
 #  typical instantiation:
 my $ethio = new DateTime::Calendar::CopticEthiopic ( day => 29, month => 6, year => 1995 );
 $ethio    = new DateTime::Calendar::CopticEthiopic ( ical => '19950629' );  # the same

 # Get Gregorian Date:
 my ($d,$m,$y) = $ethio->gregorian;

 #  instantiate with a Gregorian date, date will be converted.
 $ethio = new DateTime::Calendar::CopticEthiopic ( ical => '20030308', calscale => 'gregorian' );

 #  instantiate with a DateTime::ICal object, assumed to be in Gregorian
 my $grego = new DateTime::ICal ( ical => '20030308' );
 $ethio = new DateTime::Calendar::CopticEthiopic ( $grego );

 #  get a DateTime::ICal object in the Gregorian calendar system
 $grego = $ethio->toGregorian;  


The DateTime::Calendar::CopticEthiopic module provides a base class for DateTime::Calendar::Coptic and DateTime::Calendar::Ethiopic and handles conversions to and from the Gregorian calendar system.


In the Gregorian system the rule for adding a 29th day to February during leap year follows as per; February will have a 29th day:

(((((every 4 years) except every 100 years) except every 400 years) except every 2,000) except (maybe every 16,000 years))

The Coptic/Ethiopic calendar gets an extra day at the end of the 13th month on leap year (which occurs the year before Gregorian leap year). It is not known however if the Coptic/Ethiopic calendar follows the 2,000 year rule. If it does NOT follow the 2,000 year rule the consequence would be that the difference between the two calendar systems will increase by a single day. Hence if you reckon your birthday in the Coptic/Ethiopic system, that date in Gregorian may change in five years. The algorithm here here assumes that the Coptic/Ethiopic system will follow the 2,000 year rule.

This may however become a moot point when we consider:

The Impending Calamity at the End of Time

Well, it is more of a major reset. Recent reports from reliable sources indicate that every 1,000 years the Coptic/Ethiopic calendar goes thru a major upheaval whereby the calendar gets resyncronized with either September 1st or possibly even October 1st. Accordingly Nehasse would then either end on the 25th day or Pagumen would be extend to 25 days. Noone will know their birthday any more, Christmas or any other date that ever once had meaning. Chaos will indeed rule the world.

Unless everyone gets little calendar converting applets running on their wrist watches, that would rule. But before you start coding applets for future embeded systems, lets get this clarified. Consider that the Gregorian calendar system is less than 500 years old, so this couldn't have happend a 1,000 years ago, perhaps with the Julian calendar. Since the Coptic/Ethiopic calendar is still in sync with the Coptic, the Copts must have gone thru the same upheaval.

We are following this story closely, stay tuned to these man pages for updates as they come in.


Calendrical Calculations:
Bahra Hasab:
Saint Gebriel Ethiopian Orthodox Church of Seattle:
Aklile Birhan Wold Kirkos, Metsaheit Tibeb, Neged Publishers, Addis Ababa, 1955 (1948 EC).


This module is intended as a base class for other classes and is not intended for use on its own.


The conversion algorithms are derived from the original work in Emacs Lisp by Reingold, Dershowitz and Clamen which later grew into the excellent reference Calendrical Calculations. The Emacs package carries the following message:

 ;; The Following Lisp code is from ``Calendrical
 ;; Calculations'' by Nachum Dershowitz and Edward
 ;; M. Reingold, Software---Practice & Experience, vol. 20,
 ;; no. 9 (September, 1990), pp. 899--928 and from
 ;; ``Calendrical Calculations, II: Three Historical
 ;; Calendars'' by Edward M.  Reingold, Nachum Dershowitz,
 ;; and Stewart M. Clamen, Software---Practice & Experience,
 ;; vol. 23, no. 4 (April, 1993), pp. 383--404.

 ;; This code is in the public domain, but any use of it
 ;; should publically acknowledge its source.

Otherwise, this module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


None presently known.


Daniel Yacob,