Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man mit Datetime in Django umgeht (strftime/strptime)

Wie man mit Datetime in Django umgeht (strftime/strptime)

不言
不言Original
2018-07-03 15:01:202570Durchsuche

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(&#39;2018-03-02 17:41:20&#39;, &#39;%Y-%m-%d %H:%M:%S&#39;)

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[&#39;time&#39;] = one[&#39;time&#39;].strftime(&#39;%Y-%m-%d %H:%I:%S&#39;)

%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 &#39;float&#39;>
>>> t = time.localtime()
>>> t
(2008, 2, 13, 10, 56, 44, 2, 44, 0)
>>> type(t)
<type &#39;time.struct_time&#39;>
>>> time.strftime(&#39;%Y-%m-%d&#39;, t)
&#39;2008-02-13&#39;
>>> time.strptime(&#39;2008-02-14&#39;, &#39;%Y-%m-%d&#39;)
(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:

Erklärung, wie das ThinkPHP-Framework die Weiterleitung verwendet, um die Seitenumleitung zu implementieren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn