Drücken seltsam formatierten Daten in MySQL von PHP
-
09-10-2019 - |
Frage
Ich bin sicher, dies muss eine häufig gestellte Frage, aber ich kann es nicht überall so ist es hier geht:
Ich habe Daten in diesem Format: 09/Jul/2003:00:03:48 -0300
und ich möchte, dass sie in ein DATETIME
Feld in MySQL schieben.
Was ist der einfachste Weg, dies zu tun? Schieben sie wie Ergebnisse in ihnen auf Null gesetzt werden.
Lösung
MySQL beinhaltet nicht die Zeitzone in Datetime, aber Sie können verwendet werden:
STR_TO_DATE('09/Jul/2003:00:03:48', '%d/%b/%Y:%H:%i:%s')
... eine String-Darstellung eines Datum / Zeit in eine DATETIME- konvertiert für in der Datenbank zu speichern.
Referenz:
Andere Tipps
Soweit ich weiß nicht geändert werden kann und in der unten stehenden Format angegeben werden:
'YYYY-MM-DD HH: MM: SS'
Meine Lieblingsfunktion in allen PHP ist strtotime()
. Wenn das nicht die Eingabe interpretieren kann dann kann ich wohl nicht Code etwas, das kann.
Also ich würde so etwas tun:
mysql_real_escape_string(date('Y-m-d H:i:s', strtotime($stragely_formatted_date)));
eine DATE Zeichenfolge vorzubereiten MySQL zu geben.
Wie immer denkt über Zeitzonen in Ihrem Entwurf.
Die mysql_real_escape_string()
wahrscheinlich nicht notwendig ist, aber ich fühle mich immer sicherer, wenn ich es verwenden.