Wednesday, October 03, 2007

In 80 Tagen um die Welt - Tag 2

Am zweiten Tag seiner Reise - dem 03.10.1872 - kam Phileas Fogg nach Frankreich. Dort hat rund 73 Jahre zuvor die Französische Revolution stattgefunden. Das bringt mich auch schon zum heutigen Perl-Modul - DateTime::Calendar::FrenchRevolutionary...

Jean Forget hat ein Modul geschrieben, mit dem man Daten aus dem Revolutionskalender in den Gregorianischen Kalender umrechnen kann - und natürlich auch in die entgegengesetzte Richtung. Der Revolutionskalender war zwar nur von 1793 bis 1805 in Kraft, aber das Modul ist dennoch eine gute Möglichkeit auf etwas einzugehen, das stark mit Frankreich zu tun hat.

In dem Beispielcode wird das Datum des zweiten Reisetages von Phileas Fogg in das entsprechende Datum des Französischen Revolutionskalenders umgerechnet:
#!/usr/bin/perl

use strict;
use warnings;
use DateTime;
use DateTime::Calendar::FrenchRevolutionary;

my ($day,$month,$year) = (3,10,1872);

my $date = DateTime->new(
day => $day,
month => $month,
year => $year,
);

my $french = DateTime::Calendar::FrenchRevolutionary->from_object(
object => $date,
);

my $greg_date = sprintf "%02d.%02d.%02d",
$day,
$month,
$year;

my $french_date = sprintf "%02d.%02d.%02d",
$french->day,
$french->month,
$french->year;

print qq~Das Datum $greg_date des Gregorianischen Kalenders
entspricht dem $greg_date
des Französischen Revolutionskalenders.~;

No comments: