Ich habe ein zeitzonenbewusstes timestamptz
Feld in PostgreSQL. Wenn ich Daten aus der Tabelle ziehe, möchte ich jetzt die Zeit abziehen, damit ich das Alter ermitteln kann.
Das Problem, das ich habe, ist, dass beide datetime.datetime.now()
und datetime.datetime.utcnow()
scheinbar Zeitzonen-unbewusste Zeitstempel zurückgeben, was dazu führt, dass ich diesen Fehler erhalte:
TypeError: can't subtract offset-naive and offset-aware datetimes
Gibt es eine Möglichkeit, dies zu vermeiden (vorzugsweise ohne Verwendung eines Drittanbieter-Moduls).
BEARBEITEN: Vielen Dank für die Vorschläge, aber der Versuch, die Zeitzone anzupassen, scheint mir Fehler zu geben. Ich werde also nur Zeitzonen-unbewusste Zeitstempel in PG verwenden und immer Folgendes einfügen:
NOW() AT TIME ZONE 'UTC'
Auf diese Weise sind alle meine Zeitstempel standardmäßig UTC (obwohl es ärgerlicher ist, dies zu tun).