Уведомления

Группа в Telegram: @pythonsu

#1 Май 28, 2015 12:57:56

to_night
От: Киев
Зарегистрирован: 2013-12-12
Сообщения: 58
Репутация: +  1  -
Профиль   Отправить e-mail  

Как распарсить дату в другой таймзоне?

Итак, есть у меня строки формата: “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чень желательно бы чтобы это делала библотека, чтобы на вход только строка и таймзона. Спасибо.

Офлайн

#2 Май 28, 2015 13:02:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как распарсить дату в другой таймзоне?

datetime.datetime(2015, 5, 28, 23, 25).astimezone(YOUR_TIME_ZONE)



Офлайн

#3 Май 28, 2015 13:14:21

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Как распарсить дату в другой таймзоне?

pytz.timezone('US/Eastern').localize(yours_datetime).astimezone(pytz.utc)

Офлайн

#4 Май 28, 2015 13:34:25

to_night
От: Киев
Зарегистрирован: 2013-12-12
Сообщения: 58
Репутация: +  1  -
Профиль   Отправить e-mail  

Как распарсить дату в другой таймзоне?

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>)

Отредактировано to_night (Май 28, 2015 13:53:02)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version