Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2010 16:27:17

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Учёт нескольких часовых поясов

Я заметила, что в связи с переходом на летнее время с 27 на 28 марта, на некоторых сайтах поменялись форматы даты в item объектах в rss. Например, так:
<pubDate>Sun, 28 Mar 2010 07:21:52 +0400</pubDate>
<pubDate>Sat, 27 Mar 2010 18:59:59 +0300</pubDate>
Я так преобразовывала дату из ленты:

                        date_str = item.getElementsByTagName("pubDate")[0].childNodes
rc = ""
for node in date_str: rc = rc + node.data
date_str = rc
pub_date = datetime.datetime.strptime(date_str,
'%a, %d %b %Y %H:%M:%S +0300')
Подскажите, как правильно подойти к этому, чтобы решить проблему?



Офлайн

#2 Март 30, 2010 05:52:00

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Учёт нескольких часовых поясов

Проще всего воспользоваться библиотекой dateutil

In [53]: from dateutil.parser import *

In [54]: parse('Sat, 27 Mar 2010 18:59:59 +0300')
Out[54]: datetime.datetime(2010, 3, 27, 18, 59, 59, tzinfo=tzoffset(None, 10800))

In [55]: parse('Sat, 27 Mar 2010 18:59:59 +0400')
Out[55]: datetime.datetime(2010, 3, 27, 18, 59, 59, tzinfo=tzoffset(None, 14400))
И вообще она хорошо дополняет стандартный datetime



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Март 30, 2010 08:59:30

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Учёт нескольких часовых поясов

PooH, спасибо за совет :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version