Найти - Пользователи
Полная версия: Как распарсить дату в другой таймзоне?
Начало » Python для новичков » Как распарсить дату в другой таймзоне?
1
to_night
Итак, есть у меня строки формата: “12:25 am”.
Таймзону я знаю, это ‘US/Eastern’ . Хочу получить объект datetime, чтобы преобразовать в UTC. Делаю так:
import dateutil
    dateutil.parser.parse("11:25 pm")


Получаю в итоге:
datetime.datetime(2015, 5, 28, 23, 25)

Вопрос. Как добавить таймзону, чтобы получить в итоге datetime.datetime(2015, 5, 27, 23, 25) (то есть со смещением на один день, так как 28.05.2015 в таймзоне ‘US/Eastern’ еще не наступило)?

T.e. Я хочу, чтобы строка “11:25 pm” превращалась в datetime.datetime(2015, 5, 27, 23, 25) (хотя у меня локальная дата datetime.date(2015, 5, 28)) Oчень желательно бы чтобы это делала библотека, чтобы на вход только строка и таймзона. Спасибо.
FishHook
datetime.datetime(2015, 5, 28, 23, 25).astimezone(YOUR_TIME_ZONE)
sander
pytz.timezone('US/Eastern').localize(yours_datetime).astimezone(pytz.utc)
to_night
sander
pytz.timezone('US/Eastern').localize(yours_datetime).astimezone(pytz.utc)

In [68]: pytz.timezone('US/Eastern').localize(parser.parse('11:24 pm')).astimezone(pytz.utc)
Out[68]: datetime.datetime(2015, 5, 29, 3, 24, tzinfo=<UTC>)

'11:24 pm' – так приходит время из парсера
т.е в таймзоне US/Eastern уже наступило ‘завтра’, а нужно чтобы ‘сегодня’, если в US/Eastern ‘вчера’: datetime.datetime(2015, 5, 28, 3, 24, tzinfo=<UTC>)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB