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.

War es hilfreich?

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'

http://dev.mysql.com/doc/refman/ 5.1 / de / datetime.html

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top