Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 28, 2010 09:43:13

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

Преобразование строки с датой и временем в тип datetime

Парсю rss с разных сайтов.
Получаю список со строками вида:
Tue, 26 Jan 2010 21:05:09 GMT
Thu, 28 Jan 2010 09:07:26 +0200

Подскажите, как преобразовать каждую такую строку в тип datetime?
Заметьте, что часовой пояс указан в разных форматах.



Офлайн

#2 Янв. 28, 2010 09:59:31

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Преобразование строки с датой и временем в тип datetime

import calendar
import re
...



Офлайн

#3 Янв. 28, 2010 10:41:04

wonderfulll
От:
Зарегистрирован: 2009-01-30
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразование строки с датой и временем в тип datetime

import datetime
rss_date1 = datetime.datetime.strptime('Thu, 28 Jan 2010 09:07:26 +0200', '%a, %d %b %Y %H:%M:%S +0200')
rss_date2 = datetime.datetime.strptime('Tue, 26 Jan 2010 21:05:09 GMT', '%a, %d %b %Y %H:%M:%S GMT')



Офлайн

#4 Янв. 28, 2010 11:13:35

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

Преобразование строки с датой и временем в тип datetime

Спасибо )



Офлайн

#5 Янв. 28, 2010 12:04:26

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Преобразование строки с датой и временем в тип datetime

def parse_rfc822_datetime(data):
import datetime, rfc822

year, month, day, hour, minute, second, _, _, _, tz = rfc822.parsedate_tz(data)
dt = datetime.datetime(year, month, day, hour, minute, second)
dt -= datetime.timedelta(seconds = tz)

return dt
Результат: datetime в GMT. Зимнее/летнее время не учитывается.

..bw



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version