quando `datetime.now (pytz_timezone)` falha?

delorean docs mostre esse caminho paraobter a hora atual em um determinado fuso horário usandodatetime:

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)

e compare-o com o código baseado em delorian:

from delorean import Delorean

EST = "US/Eastern"

d = Delorean(timezone=EST)

Acredito adatetime O exemplo deve ser escrito como:

from datetime import datetime
import pytz

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

isso é mais conciso.

Existem casos em que o último exemplo de código falha enquanto o primeiro continua funcionando?

Atualizar: o exemplo atual:

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

isso ainda é muito detalhado.

A questão ainda permanece:você precisa da viagem de ida e volta explícita via utc etz.normalize() ou você pode usardatetime.now(tz) em vez de?

questionAnswers(1)

yourAnswerToTheQuestion