PHP time() - kein ewiger Kalender ?

HansDampf38

Lt. Junior Grade
Dabei seit
Jan. 2008
Beiträge
381
Hallo,
mir ist gerade etwas merkwürdiges aufgefallen. Hier erstmal der Code:

Code:
setlocale (LC_TIME, "deu");
$heute = time();
$tag = date("d", $heute);
$monat = date("m", $heute) + 1; // Hier zählst du den Monat hoch
$jahr = date("Y", $heute) + 1; // Hier zählst du das Jahr hoch

$erster_tag = mktime(0,0,0,$monat,1,$jahr);
$titel = strftime("%B",$erster_tag);
$wochentag = date("D",$erster_tag);

echo $titel.".".$jahr;
ergibt die Ausgabe

Juli 2011

Wenn ich das Jahr hochzähle klappt alles gut... ABER nur bis +27, wenn ich eingebe + 28 stimmt es nicht mehr.

richtig wäre

Juli 2038

bekomme aber

Januar 2038

Und der Rest stimmt dann auch nicht mehr.

Kann das sein ?

Gruß

HD
 

DeutscheMark

Lt. Junior Grade
Dabei seit
März 2008
Beiträge
273
Das Problem ist das 32bit auf maximal 2147483647 beschränkt ist (31Bit + Vorzeichen) und die Unixtime (Sekunden seit dem 01.01.1970) diese Zahl im Jahr 2038 überschreiten wird.

Nachzuselesen HIER

MfG, DM.
 

HansDampf38

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Jan. 2008
Beiträge
381
Danke für die Antwort... immer wieder was Neues... Alter ;)

Wenn ich aber so drüber nachdenke... zuerst dachte ich, ist doch egal, 2038 wird ja wohl kaum noch einer mit 32bit rumhantieren... aber dann dachte das ja einige Kreditinstitute jetzt schon Probleme haben müsste, bzw. schon vor 2 Jahren.

Denn so Kredite bei Häusern laufen ja meist über 30 Jahre, die haben dann ein Problem das Kreditende anzugeben :D

Naja, mir kanns egal sein. :)

Danke nochmals

HD
 
Top