Ramides: mktime falscher Timestamp oder einfach nur falsch?

Hallo zusammen,

das ist mein erstes Posting hier... aber ich komme nicht weiter an dieser Stelle. Ich habe ein PHP-Script erstellt in dem ein Fehler ist, deshalb hier eine vereinfachte Form:

<?php  
//                Monat Tag Jahr Stunde Minute Sekunde  
//                2st   2st 4st  2st    2st    2st  
$dateCompleted = "04282010123900";  
  
//               mktime (STUNDE, MINUTE, SEKUNDE, MONAT, TAG, JAHR)  
$dateCompleted = mktime(substr($dateCompleted,8,2), substr($dateCompleted,10,2), substr($dateCompleted,12,2),  
                        substr($dateCompleted,2,2), substr($dateCompleted,0,2), substr($dateCompleted,4,4));  
					  
print "Timestamp (soll): 1272465540<br>";  
print "Klartext (soll): ".date("d.m.y H:i:s",1272465540)."<br>";  
					  
print "Timestamp (ist): $dateCompleted<br>";  
print "Klartext: (ist): ".date("d.m.y H:i:s",$dateCompleted)."<br>";  
?>

Das gibt folgende Ausgabe bei mir:
Timestamp (soll): 1272465540
Klartext (soll): 28.04.10 16:39:00
Timestamp (ist): 1333535940
Klartext: (ist): 04.04.12 12:39:00

Der String in dateCompleted ist das was ich erhalte. Es ist ein Datum und eine Uhrzeit, die ich in einen Timestamp umrechnen möchte.

Blöderweise wird beim "Zurückformatieren" immer ein falsches Datum ausgegeben. Andere Eingabestrings z. B. 06062010210800 (= 06.06.10 21:08:00 = 1275851280) funktionieren allerdings problemlos.

Versteh ich nicht...

Kann mir jemand helfen zu verstehen was hier falsch ist?

DANKE !

Ramides

  1. [code lang=php]<?php
    //                Monat Tag Jahr Stunde Minute Sekunde
    //                2st   2st 4st  2st    2st    2st
    $dateCompleted = "04282010123900";

    //               mktime (STUNDE, MINUTE, SEKUNDE, MONAT, TAG, JAHR)
    $dateCompleted = mktime(substr($dateCompleted,8,2), substr($dateCompleted,10,2), substr($dateCompleted,12,2),
                            substr($dateCompleted,2,2), substr($dateCompleted,0,2), substr($dateCompleted,4,4));

    ...

    Blöderweise wird beim "Zurückformatieren" immer ein falsches Datum ausgegeben. Andere Eingabestrings z. B. 06062010210800 (= 06.06.10 21:08:00 = 1275851280) funktionieren allerdings problemlos.

    Wenn es an jedem X.X. funzt, aber an jedem X.Y. nicht funzt, dann hast du Tage und Monate verwechselt.

    Versteh ich nicht...

    Die Hölle ist der Code der anderen.
    schreib einfach coolen Code.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Hi Beat,

      danke dafür ! Ist wohl zu warm oder so *schwitz* :)

      Ramides