Kann nicht abziehen, datetime-und timestamp in django?
Habe ich ein Feld timestamp = Modelle.DateTimeField(auto_now_add=True) in die db. Ich will finden Sie den Unterschied zwischen timestamp und datetime.jetzt().
Als ich versuchte datetime.jetzt() - timestamp, bekomme ich die Fehlermeldung:
can't subtract offset-naive and offset-aware datetimes
Wie kann ich dieses Problem beheben?
- möglich, Duplikat der Can nicht subtrahieren offset-naive und offset-bewusst datetimes
InformationsquelleAutor iCodeLikeImDrunk | 2012-05-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Fehler bezieht sich auf, wie sich die Zeiten gespeichert sind, die von python. Nach der python Dokumentation:
Den django Dokumentation auch fest, dass:
Sollten Sie ermitteln, ob du willst oder nicht timezone Bewusstsein in Ihre Website und passen Sie dann Ihre gespeicherte Zeiten entsprechend. Konvertieren Sie ein bewusst, dt zu naiv können Sie die Modul pytz und tun Sie dies:
Dies funktioniert, da alle python-datetimes eine optionale Zeitzone Attribut
tzinfo
, die verwendet werden können, um Informationen zu speichern, auf die dt offset von der UTC-Zeit.Holá
Die kurze Antwort ist:
Müssen Sie die Zeitzone-info, um Ihrem jetzt () - Zeit.
Aber Sie müssen die gleiche Zeitzone der variable, das ist, warum ich lese zuerst das tzinfo-Attribut.