Fehler mit mktime() und Neujahr!

a*new*found*flo

Erfahrenes Mitglied
Hallo! - erstmal "PROSIT NEUJAHR" zu wünschen und dann folgendes problem.
Ich habe für meine Band ein Showsystem gebastelt,bei dem die Shows sobald sie abgelaufen sind unter "abgelaufen" stehen.
Hat bis jetzt immer prächtig gefunzt - bis zum 1.1.04
Jetzt ist zum Beispiel der 9.1. schon abgelaufen und der 20.3. sowohl abgelaufen als auch noch aktuell......
ich habe bereits alle daten überprüft und alles durchgecheckt - ich kapier es einach nicht.
darum habe ich die datei server_time.php geschrieben um einige tests durchzuführen:
PHP:
   <? $heute = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
echo "Datum Heute in Sekunden Seit 1.1.1970:".$heute."<br>";  // lasse mir die Sekunden seit 1970 ausgeben
        $heute_2 = date(d.m.y);  // Überprüfe ob das datum des Servers richtig ist
        echo "datum:".$heute_2;
        $datum_anfang = mktime(0,0,0,01,09,2004);
echo "<br> 09.01.2004 <br>";
echo $datum_anfang."<br>";
echo ($datum_anfang - $heute); ?> // Subtrahiere beide.....

Und das ist das Ergebniss:
Datum Heute in Sekunden Seit 1.1.1970:1072911600
datum:010104
09.01.2004
1072825200
-86400
Wie man sieht scheint der 9.1. also wirklich schon vergangen zu sein -> -86400
Hat wer ne ahnung woran das liegen könnte?
Vielen Dank, mfg flo:rolleyes:
 
Hi,

ich habe das Script mal bei mir getestet und komme auf das gleiche (falsche) Ergebnis. :rolleyes:

Nach ein wenig Rumprobieren bin ich darauf gekommen, daß die führenden Nullen daran Schuld sind:

PHP:
$datum_anfang = mktime(0,0,0,1,9,2004); // Ergebnis richtig
$datum_anfang = mktime(0,0,0,01,09,2004); // Ergebnis falsch

komischerweise noch das hier:
PHP:
$datum_anfang = mktime(0,0,0,"01","09","2004"); // Ergebnis richtig


Dunsti
 
Zurück