delorean
docs показать этот способ, чтобы получить текущее время в заданном часовом поясе с помощью datetime
:
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)
и сравните его с кодом на основе delorian:
from delorean import Delorean
EST = "US/Eastern"
d = Delorean(timezone=EST)
Я считаю, пример datetime
должен быть записан как:
from datetime import datetime
import pytz
eastern_timezone = pytz.timezone("US/Eastern")
d = datetime.now(eastern_timezone)
что является более кратким.
Есть ли случаи, когда последний пример кода не работает, пока первый продолжает работать?
Обновление: текущий пример:
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
который все еще слишком многословен.
Столбец вопроса: вам нужна явная обратная связь через utc и tz.normalize()
или вы можете использовать datetime.now(tz)
вместо этого?