Greetings, After much feature creep, I've finally released this morning a version of Date::Ethiopic. It is derived from Date::ICal but assumes dates passed to the object as args are in the Ethiopic calendar context. A Gregorian context can be set with a "calscale => gregorian" argument and the date args will be converted into the Ethiopic calendar system.
The class also has a "toGregorian" method which returns a Date::ICal object with Gregorian dates. There is also a "calscale" method to check the calendar context of the object when it might be unknown. I recommend these two methods for other packages that also work with non-Gregorian systems. They offer a way to normalize a date for additional conversions, for example: my $ethio = new Date::Ethiopic ( $chinese->toGregorian ); Ah.. a new Date::Ethiopic object can be instaniated from a Date::ICal object, I recommend that too. I haven't been able to keep up with the datetime list during the last year and am out of touch with the latest school of thought on time classes for Perl. I anticipate working on the package regularly and would like to follow standards to the extent that they are available. Using the Date::ICal base class was a conscious attempt at just this. "Date::Ethiopic" I've begun to suspect may no longer be the preferred name choice. Please let me know what naming conventions are recommended. thanks, /Daniel