I have just put a new module in CVS: DateTime-Format-Roman.
This module formats any DateTime object as a Roman date.
For example: today is the Kalends of June 2003; -0043-03-15 was the Ides
of March 44BC.
The interface is more or less based on strftime. At the moment it is
very simple, only providing very basic output; but I will add more
output specifiers in the future.
Example of use:
my $f = DateTime::Format::Roman->new(pattern => '%d %f %m %y');
my $dt = DateTime->now;
print $f->format_datetime($dt);
prints "1 Kal 6 2003" (the Kalends of June 2003).
This is not meant to be a complete replacement for Date::Roman. The
Roman calendar (starting in 754BC, the founding of Rome) is not
implemented, and neither are the various calendar changes in ancient
times. These should be implemented in a separate DT::Calendar::Roman
module.
The Roman day numbering system was used with a number of calendars, so
this module will work with any DT::Calendar module that implements the
same interface as DateTime. (Today is the Ides of Prairial in the French
Revolutionary calendar, for example.)
Eugene