Переход на летнее время в Python
Я пишу программу, которая имеет дело с часовыми поясами и пересекает их. Две вещи, с которыми я сталкиваюсь больше всего, это создание объекта datetime из & quot; now & quot; и затем локализация наивного объекта даты и времени.
Чтобы создать объект datetime в тихом часовом поясе, я сейчас делаю это (python 2.7.2+)
from datetime import datetime
import pytz
la = pytz.timezone("America/Los_Angeles")
now = datetime.now(la)
Это правильно в отношении DST? Если нет, я полагаю, я должен делать:
now2 = la.localize(datetime.now())
Мой вопрос почему? Кто-нибудь может показать мне случай, когда первое неверно, а второе верно?
Что касается моего секундного вопроса, предположим, что у меня была наивная дата и время от какого-то пользователя, введенного 9 сентября 2012 года в 8:00 утра в Лос-Анджелесе, штат Калифорния. Это правильный способ сделать дату и время так:
la.localize(datetime(2012, 9, 1, 8, 0))
Если нет, то как мне строить эти даты?