Hi,
DateTime implementiert ja den Gregorianischern Kalender.
http://de.wikipedia.org/wiki/Gregorianischer_Kalen...
Der Kalender ist 1582 entstanden. Um das Datum wieder zu Korrigieren wurde beim Gregorianischen Kalender 10 Tage übersprungen. Das heißt der nächste Tag vom 4.10.1582 ist eigentlich der 15.10.1582.
Allerdiengs gibt DateTime das so nicht aus:
my $dt = DateTime->new(
year => 1582,
month => 10,
day => 4,
);
print $dt->dmy, "\n";
$dt->add( days => 1 );
print $dt->dmy, "\n";
Dieses Beispiel gibt das falsche Ergebnis aus:
Aus Wikipedia lässt sich aber noch entnehmen das der Gregorianische Kalender am 4/15. Oktober 1582 nur von Spanien, Polen, Portugal und teile von Italien übernommen wurde.
Ich habe $dt->new also nochmal time_zone auf "Europe/Madrid" gestellt, was aber das selbe Ergebnis bringt. Auch wenn ich zuerst keine Time_Zone angebe, dann damit rechne, und dann erst vor der letzten ausgabe ein set_time_zone('Europe/Madrid') mache bekomme ich auch noch den 05.10.1582 heraus.
Von daher die Frage, ist das ein Fehler der nicht beachtet wurde, oder rechne ich mit DateTime Falsch?
P.S.: BUG? Es werden zusätzliche Leerzeilen angezeigt im Code Tag?
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de