perl hat Datumsprobleme?

Hi,

hab gerad ein merkwürdig/amüsantes Phänomen bei perl. Folgender Codeschnippsel, der einen Unix-Timestamp erzeugen soll:

Code:
$min=42;
$h=13;
$d=31;
$m=5;
$y=2005;
$dauer=timelocal("00",$min,$h,$d,$m,$y);

Sobald ich das innerhalb meines Programms ausführe kommt diese Ausgabe:

Code:
Day '31' out of range 1..30 at ./script.pl line 346

Wenn ich $d um eins verringere stimmt der Zeitstempel nicht mehr.

Daher meine Verwunderung: gibt es bei Perl keinen 31.05.2005 oder hab ich etwas übersehen?

(ein ähnliches Problem mit dem 31.10.2003 wird hier geschildert - die dortige Lösung verfälscht allerdings wie gesagt den Zeitstempel um einen Tag)
 
in der einen antwort steht, dass monate als index 0-11 behandelt werden.
d.h. du hast in deinem beispiel hier den timestamp für den 31.06. und nicht den für den 31.05.
 
Zurück
Oben