wann schlägt `datetime.now (pytz_timezone)` fehl?

delorean docs zeige diesen Weg zuzählen Sie die aktuelle Zeit in einer bestimmten Zeitzone usingdatetime:

from datetime import datetime
from pytz import timezone

EST = "US/Eastern"
UTC = "UTC"

d = datetime.utcnow()
utc = timezone(UTC)
est = timezone(EST)
d = utc.localize(d)
d = est.normalize(EST)

und vergleiche es mit dem Delorian-basierten Code:

from delorean import Delorean

EST = "US/Eastern"

d = Delorean(timezone=EST)

Ich glaub dasdatetime Beispiel sollte geschrieben werden als:

from datetime import datetime
import pytz

eastern_timezone = pytz.timezone("US/Eastern")
d = datetime.now(eastern_timezone)

das ist prägnanter.

Gibt es Fälle, in denen das letzte Codebeispiel fehlschlägt, während das erste weiterhin funktioniert?

Aktualisieren das aktuelle Beispiel:

from datetime import datetime
import pytz

d = datetime.utcnow()
d = pytz.utc.localize(d)

est = pytz.timezone('US/Eastern')
d = est.normalize(d)
return d

das ist noch zu ausführlich.

Die Frage steht noch:Benötigen Sie die explizite Hin- und Rückfahrt über utc und tz.normalize() oder kannst du @ benutzdatetime.now(tz) stattdessen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage