Heim > Artikel > Backend-Entwicklung > Wie man mit Datetime in Django umgeht (strftime/strptime)
Dieser Artikel stellt hauptsächlich die Verarbeitungsmethode von datetime in Django vor (strftime/strptime). Dieser Artikel stellt Sie ausführlich vor und hat einen bestimmten Referenzwert.
strftime< ;Konvertieren Sie Datum, Datum und Uhrzeit, timezone.now()-Typverarbeitung in Zeichenfolgentyp>
Die Funktion strftime() ist eine Funktion zum Formatieren von Datum, Datum und Uhrzeit. Unterstützt Datum, Datum und Uhrzeit und andere Klassen und formatiert diese Zeiten als Strings durch Formatzeichen.
import datatime datatime.datatime.now()
oder
from datatime import datatime datatime.now()
Mein Ausgabekonvertierungsformat ist
strftime('%Y-%m-%d %H:%I:%S')
Der Effekt ist ähnlich wie 2018-07-02 23:18: 20.
strptimed6ebcc5146a10a225603db9c66268d35
Die Funktion strptime() dient dazu, Datum und Uhrzeit aus einem String entsprechend zu formatieren Formatierungszeichenfolgenanforderungen. Konvertieren Sie in das entsprechende Datum und die entsprechende Uhrzeit.
d2 = datetime.strptime('2018-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
Konvertierungskontrollformat:
In String konvertieren
%y zweistellige Jahresdarstellung (00-99)
%Y vierjährige Darstellung in Ziffern (000-9999)
%m Monat (01-12)
%d Tag im Monat (0-31)
%H 24-Stunden-Stunde (0-23 )
%I 12-Stunden-Uhr Stunden (01-12) 12-Stunden-Uhr
%M Minuten (00=59)
%S Sekunden (00-59)
Zwei Fehler aufgetreten:
Erstens: Die Anzeigezeit stimmt nicht mit dem Datenbankfehler überein:
Einmal bin ich auf ein solches Problem gestoßen, die Zeit Die aus der Datenbank entnommene Zeit stimmte nicht mit der im Frontend angezeigten Zeit überein. Später, nachdem ich weitere Informationen ausgegeben und die Zeit konvertiert hatte, stellte ich schließlich fest, dass der Kollege, der den Code zuvor geschrieben hatte, dieses
one['time'] = one['time'].strftime('%Y-%m-%d %H:%I:%S')
%I verwendet hatte ist die Konvertierungsform der Zwölf-Stunden-Uhr. Bei dieser Konvertierung wird zwar kein Fehler gemeldet, das Ausgabeergebnis stimmt jedoch nicht mit der Datenbank überein.
Zweitens: datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=e9565f3311cfba241e510fbff062dc7c) ist nicht JSON-serialisierbar
Eine Fehlermeldung wie diese wird angezeigt. .
datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=<UTC>) is not JSON serializable
Dies ist die Fehlermeldung, die angezeigt wird, wenn Datetime-Daten direkt in JSON platziert werden. Sie können nicht direkt in JSON platziert werden.
Die Lösung ist: Sie können strftime für die Serialisierung verwenden Beispiel die folgende Methode
.strftime("%Y-%m-%d %H:%M:%S")
Sehen wir uns die detaillierte Erklärung von Python an: Zeit, Strftime und Strptime
Die am häufigsten verwendete Zeit. time() Was zurückgegeben wird, ist eine Gleitkommazahl in Sekunden. Der von strftime verarbeitete Typ ist jedoch time.struct_time, bei dem es sich tatsächlich um ein Tupel handelt. Sowohl strptime als auch localtime geben diesen Typ zurück.
>>> import time >>> t = time.time() >>> t 1202872416.4920001 >>> type(t) <type 'float'> >>> t = time.localtime() >>> t (2008, 2, 13, 10, 56, 44, 2, 44, 0) >>> type(t) <type 'time.struct_time'> >>> time.strftime('%Y-%m-%d', t) '2008-02-13' >>> time.strptime('2008-02-14', '%Y-%m-%d') (2008, 2, 14, 0, 0, 0, 3, 45, -1)
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Das PHP-Framework CodeIgniter verwendet Redis Die Methode wird erklärt
Das obige ist der detaillierte Inhalt vonWie man mit Datetime in Django umgeht (strftime/strptime). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!