Ich habe die folgende Zeichenfolge "2017-03-30 08:25:00CET"
, die ich in ein datetime tz-aware-Objekt konvertieren möchte.
Nach diese SO Frage , ab Python 3.2 kann nur mit datetime
module gearbeitet werden. Außerdem sehe ich in der Dokumentation
%Vor%
Also versuche ich folgendes
%Vor%Ich bekomme keinen Fehler, aber das Objekt, das ich bekomme, ist nicht tz-aware
%Vor% Andererseits, wenn ich meine Zeichenfolge in "2017-03-30 08:25:00+0200"
umwandle und sie dann in ein Objekt mit
datetime.strptime(dep_dt, '%Y-%m-%d %H:%M:%S%z')
Ich bekomme eine tz-aware Datetime:
%Vor% Irgendwelche Ideen, warum es mit %z
funktioniert, aber nicht mit %Z
? Was mache ich falsch?
Gemessen an den Informationen von tzinfo funktioniert %Z
nicht Die Art, wie Sie eine Zeichenfolge wie "UTC"
einspeisen und eine Datetime-Instanz mit der richtigen Zeitzone zurückgeben.
pytz bietet eine mögliche Lösung für Ihr Problem. Die Dokumentation besagt jedoch, dass es keine Garantie dafür gibt, dass Ihre Zeitzone von datetime erkannt wird, und empfiehlt, so lange wie möglich mit UTC zu arbeiten.
Lösung mit pytz
:
Aus:
%Vor%Tags und Links python python-3.x timezone python-datetime