Date-Roman

 view release on metacpan or  search on metacpan

bin/RomanDate  view on Meta::CPAN

with none at all. In the first case, the argument must be numerical
and are interpreted as the day, month and year number respectively. In
the second case, the script prints the current date.


=head1 DESCRIPTION

This script is a utilization sample of L<Date::Roman>. Given a
Christian date, it prints on standard out the corresponding date in
the Roman format (see the L<Date::Roman> man page for more details
about the Roman calendar).

=head1 EXAMPLES

  RomanDate 19 7 1961

prints I<a.d. XIV Kal. Aug. MMDCCXIV AUC>.

  RomanDate --args words=complete --args auc=abbrev 19 7 1961

prints I<ante diem XIV Kalendas Augustas MMDCCXIV AUC>

lib/Date/Roman.pm  view on Meta::CPAN

   <prefix>    /= "b6"         ; only for <mons> equal to "3", <fixed day> 
                               ; equal to "kal" and <annus> equal to a 
                               ; leap year.
   <fixed day>  = "kal" / "non" / "id"
   <mons>       = 1*2DIGIT     ; "1".."12"
   <annus>      =  1*DIGIT
   <spaces>     =  1*WSP

We use the "b6" prefix to indicate the leap day (24th february)
introduced in leap tears. As it is stated below in section L<The days
in the Roman calendar>, this was again the 6th day before the Kalendae
of March, exatly as the day after.

=head2 The I<ical> format

The I<ical> format is a generalization of the format for dates defined
in rfc2445. The genralization consists in allowing a year in less than
4 digits and in allowing a prefixed "-" to represents years before 
S<1 BC>. More specifically, a I<ical> date string is defined by the
following ABNF specification (see rfc2234):

lib/Date/Roman.pm  view on Meta::CPAN

As it is customary, we use 0 to represent the year S<1 BC>, 
-1 to represent the year S<2 BC> and so on.



=head1 THE ROMAN CALENDAR


=head2 The Julian reform, the month length

Julius Caesar made his famous calendar reform in S<45 BC>. According to
this reform, the year was of 365 days, divided in 12 months:
Ianuarius, 31 days; Februaarius, 28 days, Martius, 31 days; Aprilis,
30 days; Maius, 31 days, Iunius, 30 days, Iulius, 31 days; Sextilis 31
days, September, 30 days, October, 31 days; November, 30 days; and
December, 31 days. Later, Sextilis became Augustus (to simplify, we
used Augustus as name of the 8th month trought the module).


=head2 The Julian reform, leap years

lib/Date/Roman.pm  view on Meta::CPAN

S<45 BC> and S<9 BC> there was a leap year every I<three> years. 
To make up for the surplus of leap years so introduced, emperor 
Augustus decreed a 15 years period without leap years, so that the 
first leap year after S<9 BC> was S<8 AD>. Then there was a leap 
year every 4 years until the Gregorian Reform. This module take into 
account the Gregorian reform assuming that it took place in 
S<1582 AD>. It does not take into account the problems in determining 
leap years between S<45 BC> and S<8 AD> (at least it does not yet, 
L<see the section TODO above|TODO>).

=head2 The days in the Roman calendar

The Romans didn't number the days sequentially from 1. Instead they
had three fixed days in each month: 

=over

=item Kalendae

which was the first day of the month;

lib/Date/Roman.pm  view on Meta::CPAN


=head2 Counting the years

Romans counted years starting from the mitical foundation of Rome by
Romolus on 21st April, S<753 BC>. Fr instance, year S<2002 AD> 
is the year S<2755 AUC> (ab Urbe condita, after the foundation 
of the City).

=head2 What before the Julian reform?

Before Julius Caesar introduced the Julian calendar in S<709 AUC>, the
Roman calendar was a mess, and much of our so-called ``knowledge''
about it seems to be little more than guesswork. This module uses the
Julian calendar also for dates before the 1 Jan S<45 BC> (or, more
precisely, Kalendas Ianuariis S<DCCIX AUC>). This is the so called
'proleptic Julian calendar' and it is consistent with the historians'
habit to do so.


=head1 AUTHOR

Leo Cacciari, aka TheHobbit E<lt>thehobbit@altern.orgE<gt>

=head1 THANKS

I would like to thanks people who helped me to get this module right:

lib/Date/Roman.pm  view on Meta::CPAN



=head2 Books

Any Latin textbook.

=head2 Web

The very good Frequently Asked Questions about Calendars by Claus
Tondering. You can found it at 
http://www.tondering.dk/claus/calendar.html
See especially section 2.7.


=cut



( run in 0.527 second using v1.01-cache-2.11-cpan-5dc5da66d9d )