Переход на летнее время в 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))

Если нет, то как мне строить эти даты?

Ответы на вопрос(4)

Ваш ответ на вопрос