Mailinglisten-Archive |
Tim Hildebrandt schrieb > $DateArray = split("\.", $formularfeld); > $vardat = date("Y-m-d", > mktime(0,0,0,$DateArray[1],$DateArray[0],$DateArray[2])); > > Bei Jahresangaben unterhalb von 1970 kommt ein allgemeiner Fehler. > Warum und wie kann man das umgehen? Mit mktime() generierst Du einen UNIX-Timestamp. Dieser gibt bekanntlich die Anzahl der Sekunden seit dem 01.01.1970 an. Es macht allerdings auch wenig Sinn, für die Formatierung eines Datums erst einen UNIX-Timestamp zu generieren, um diesen dann wieder in ein formatiertes Datum zurückzuverwandeln. Da checkdate im allgemeinen funktioniert, solltest Du eventuell Dein System überprüfen. Ansonsten validiere das Datum soweit wie möglich mit einem Regulären Ausdruck. Die gewünschte Formatierung bekommst Du dann auch ohne date+mktime realisieren. // Hier steht die Validierung $DateArray = explode(".", $formularfeld); $FDate = sprintf("%04d-%02d-%02d", $DateArray[2], $DateArray[1], $DateArray[0] ); Guido Haeger
php::bar PHP Wiki - Listenarchive