Problem mktime(....., <1970)

Arsacoon

Grünschnabel
Probem:

Vor etwa einem halben Jahr konnte mann mit mktime() noch negative timestamps für Zeitangaben vor 1970 generieren.
Auf meinem Testserver geht das immer noch.
Plötzlich berechnet mktime() den Timestamp total verkehrt

Hier mal ein Beispiel:

PHP:
<?php
$time = mktime(1,1,1,1,1,1940);
echo $time.'<br>';
echo date('Y', $time)
?>

Ausgabe:

Es ist ja bekannt das ein Webserver der auf Windows aufgesetzt ist keine negativen Timestamps kennt.
Nur unser Server benutzt kein Windows.


Meine Fragen sind:

1. Was ist passiert? Updates PHP add = mktimebug?
2. Gibt es nen Lösung und wenn ja welche?

Meine Bitten:

1. Verständliche Antworten
2. Keine Links zu km von englischen Texten zum thema

Danke Euch
 
php.net hat gesagt.:
Caution

Before PHP 5.1.0, negative timestamps were not supported under any known version of Windows and some other systems as well. Therefore the range of valid years was limited to 1970 through 2038.

Grobe Übersetzung:
Vor PHP 5.1.0 wurden negative Zeitstempel nicht von irgendeiner bekannten Windows Version und ebenso einigen anderen System unterstützt. Deshalb wurde die Reichweite der gültigen Jahre auf 1970 bis 2038 begrenzt.
 
Ich habe mir eine Funktion geschrieben welche Mittel von Timstamp bis Timstamp
ein komplates HTML Selectfeld zur eingabe von Zeitwerten geschrieben zurückgibt.

Nun soll es an einer Stelle benutzt werden wo ein Geburtsdatum eingegeben werden kann.
Ich fand Timestamp immer sehr praktisch.

date();
und
mktime();

Werd mir also ein anderes Datums- und Zeitformat angewöhnen müssen.
 
Zurück