Yii: Speichern von Datum und Zeit in DB
Ich habe Probleme beim speichern das Datum in der DB durch das Modell. In mein controller, wenn ich dump das Datum im log, dass ich von $_POST , ich bekomme das Datum im format "10/Nov/2012 07:30". Wenn ich:
$AccountAppointment->start_date=Yii::app()->dateFormatter->format($_POST['AccountAppointment']['start_date'], 'dd/M/yyyy HH:mm');
Bekomme ich die Fehlermeldung:
Invalid datetime format: 1292 Incorrect datetime value: '10/NoGMT+5/2012 07:30' for column 'start_date'
Ändern Sie das format in dateFormatter zu 'TT/M/JJJJ HH:mm "oder" dd/MM/yyyy HH:mm "oder" dd/MMM/yyyy HH:mm' wirft den gleichen Fehler.
Db ist MySQL 5.0, Yii version 1.1.12.
Jede Hilfe wäre sehr geschätzt, ich bin fast stecken geblieben....danke....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe etwas verwendet, wie dies in der Vergangenheit. Ich benutzte die CDateTimeParser zu analysieren, das Datum, und formatieren Sie es, wie Sie wollen.
Ich nehme an, Sie können dies tun:
oder
Sind Sie mit dem falschen format. "Nov" entspricht dem Muster
MMM
, nichtM
(das ist der Monat als ganze Zahl ohne führende null).Konnte ich nicht finden keine Konvertierung zu konvertieren dd/MMM/yyyy HH:mm Datumsformat für MySQL, so meine eigene Methode. Dies ist nur ein workaround, sobald ich eine elegantere Lösung, werde ich update meine Antwort. Folgendes ist die Methode, die ich erstellt:
Ändern Sie das format in Ihrem datepicker, standardmäßig ist es yy-mm-dd
Denke ich, dass Sie nicht verstehen, die format-Funktion. Bitte siehe unten.
müssen Sie Schalter Datum-format und Zeit.
Das ist richtig:
Hoffe mir kann jemand helfen 🙂
Konnte man mit dem eingebauten CDateTimeParser:
Test:
Ausgänge:
Zusätzlich schrieb ich eine wrapper-Funktion für oben genannte zu berücksichtigen, Vergleichs-Operatoren verwenden, so können Sie lokalisierte datetimes in der CGridView Filter. Vielleicht kann es helfen. Siehe: https://stackoverflow.com/a/53759001/3090890