Fehler in PHP-Programmen durch falsche Daten verursacht werden, können teuer werden. Laut International Data Corp , verbrachte Unternehmen mehr als 20 Milliarden Dollar Fixingtag Handhabung in Computerprogramme in Erwartung des Y2K Übergang . Falsche Daten können dazu führen, PHP-Programme zum Absturz zu bringen oder zu falschen Berechnungen , die manchmal schlimmer als Programmabstürze sind . Mehrere Methoden stehen zur Verfügung , die Sie verwenden können, um eine falsch formatierte Datum in eine korrekt formatierte Datum umwandeln in ein PHP Script. Anleitung
1
Identifizieren Sie das Format der falsche Zeitpunkt . Legen Debugging-Code in Ihr Skript , um den Inhalt des Feldes mit dem falschen Datum auszugeben. Verstehen, warum das Format ist nicht korrekt , so dass Sie es auf eine korrekte Datum umwandeln kann und Maßnahmen ergreifen, um ähnliche Fehler in Zukunft zu verhindern. Zum Beispiel , legen Sie den folgenden Code in Ihre PHP-Skript , wo das falsche Datum Feld verwiesen wird :
echo " *** debug: date = $ date_field *** ";
2
Identify Daten durch einen ganzzahligen Wert als die Anzahl der Sekunden seit dem 1. Januar 1970 vertreten - zum Beispiel, stammt aus einer Microsoft Access-Datenbank. Verwenden Sie die PHP Funktion "Datum" , um Integer-Werte zu einem Datum , der von der PHP-Skript verarbeitet werden kann konvertieren. Fügen Sie beispielsweise das folgende Skript in Ihr Programm um eine ganze Zahl zu einem Zeitpunkt "MM /TT /JJJJ " date -Wert zu konvertieren :
$ good_date = date (" m /d /Y ", $ access_date );
3
Verwenden Sie die PHP-Funktion " strtotime " in Verbindung mit der PHP- Funktion "Datum" , um ein falsches Datum -Format in eine korrekt formatierte Datum zu konvertieren . Führen Sie das falsche Datum auf den strtotime Funktion , um einen Zeitwert zu erstellen , dann verwenden Sie die Funktion "Datum" richtig formatieren den Zeitwert . Geben Sie z. B. :
$ fixed_time = strtotime ($ bad_date ); $ new_date = date (" Ym -d ", $ fixed_time );
4
Verwenden Sie die Funktion substring die Monat und Tag Teile eines Datumszeichenfolge nachbestellen , wenn sie umgesetzt werden . Zum Beispiel, um " 14/10/2011 " konvertieren " 10/14/2011 ", verwenden Sie den folgenden Code:
$ new_date = substr ( $ bad_date , 3,2 ) . '/' . substr ( $ bad_date , 0,2) . '/' . substr ( $ bad_date , 6) ;