Python - Установка даты и времени в определенном часовом поясе (без преобразования UTC)

Для ясности, это python 2.6, Я использую pytz.

Это для приложения, которое работает только с часовыми поясами США, мне нужно иметь возможность привязать дату (сегодня), и получить временную метку unix (время эпохи) только для 20:00 и 23:00 по тихоокеанскому стандартному времени.

Это сводит меня с ума.

> pacific = pytz.timezone("US/Pacific")

> datetime(2011,2,11,20,0,0,0,pacific)

datetime.datetime(2011, 2, 11, 20, 0, tzinfo=<DstTzInfo 'US/Pacific' PST-1 day, 16:00:0 STD>)

> datetime(2011,2,11,20,0,0,0,pacific).strftime("%s")
'1297454400'

zsh> date -d '@1297454400'    
Fri Feb 11 12:00:00 PST 2011

Итак, хотя я настраиваю часовой пояс и создаю datetime с для этого часового пояса, он все равно создает его как UTC, а затем конвертирует его. Это большая проблема, поскольку UTC будет на день вперед, когда я буду пытаться произвести вычисления.

Есть ли простой (или, по крайней мере, разумный) способ сгенерировать отметку времени для 8 вечера по тихоокеанскому времени сегодня?

(to будьте ясны, я понимаю ценность использования UTC в большинстве ситуаций, таких как временные метки базы данных или для общего хранилища. Это не одна из тех ситуаций, мне особенно нужна временная метка для вечера в PST, и UTC не должно входить в Это. )

19
задан liam 11 February 2011 в 22:58
поделиться