Hallo,
ich habe Probleme bei der Datumsumwandlung in einen Unix-Zeitstempel. Die Funktion mktime() beachtet scheinbar nicht die übergebene Variable $fuer_unix und nimmt statt dessen das aktuelle Datum/Zeit.
Mein Quellcode:
$stunde="01";
$minute="01";
$sekunde="01";
// habe $datum mal der Einfachheit halber
// eingefügt, wird sonst in genau diesem Format übergeben:
$datum="28.05.1978";
$tag=substr($datum,0,2);
$monat=substr($datum,3,2);
$jahr=substr($datum,6,4);
$fuer_unix="$stunde,$minute,$sekunde,$monat,$tag,$jahr";
$unixzeit=mktime("$fuer_unix");
$datum_zurueck=date("d.m.Y",$unixzeit);
echo "$datum > $fuer_unix > $unixzeit > $datum_zurueck";
das Ergebnis:
28.05.1978 > 01,01,01,05,28,1978 > 1038443028 > 28.11.2002
Wer hat eine Idee? Wenn ich die Funktion strtotime() verwende, kommt nach Umstellung ins englische Format sogar ein noch anderes Datum raus. Eigentlich müsste das mit mktime() aber auch funktionieren...
ich habe Probleme bei der Datumsumwandlung in einen Unix-Zeitstempel. Die Funktion mktime() beachtet scheinbar nicht die übergebene Variable $fuer_unix und nimmt statt dessen das aktuelle Datum/Zeit.
Mein Quellcode:
$stunde="01";
$minute="01";
$sekunde="01";
// habe $datum mal der Einfachheit halber
// eingefügt, wird sonst in genau diesem Format übergeben:
$datum="28.05.1978";
$tag=substr($datum,0,2);
$monat=substr($datum,3,2);
$jahr=substr($datum,6,4);
$fuer_unix="$stunde,$minute,$sekunde,$monat,$tag,$jahr";
$unixzeit=mktime("$fuer_unix");
$datum_zurueck=date("d.m.Y",$unixzeit);
echo "$datum > $fuer_unix > $unixzeit > $datum_zurueck";
das Ergebnis:
28.05.1978 > 01,01,01,05,28,1978 > 1038443028 > 28.11.2002
Wer hat eine Idee? Wenn ich die Funktion strtotime() verwende, kommt nach Umstellung ins englische Format sogar ein noch anderes Datum raus. Eigentlich müsste das mit mktime() aber auch funktionieren...
Kommentar