2014-01-15 6 views
0

У меня есть большой набор твитов, и мне нужно получить твиты с одного недельного периода, одного дня и т. Д. Итак, я хочу указать дату начала и окончания и получить все данные, которые соответствует запросу. Теперь у меня есть этот код:Преобразование часового пояса Twitter и выполнение запросов

pac=timezone('US/Pacific') 
utc=timezone('UTC') 
start_created_at = datetime.strptime(tweet['created_at'], '%a %b %d %H:%M:%S +0000 %Y') 
start_utc_created_at = utc.localize(start_created_at) 
start_pac_created=start_utc_created_at.astimezone(pac) 

, который дает мне выход, как этот

2014-01-11 10:51:11-08:00 

Я все еще пытаюсь научиться манипулировать дату/время, так что я был бы признателен за любые подсказки о том, как выполнить запросов и выбрать твиты с определенного периода времени, который не требует ручного ввода всей строки, а вместо этого, что-то вроде 01/01/2014-01/10/2014 или что-то легко управляемое.

+0

Если вы спрашиваете, как запрос к базе данных, немного информации о схеме базы данных и таблицы может помочь – mhlester

+0

извините! отредактирован! Я не хочу запрашивать базу данных в данный момент, просто хотел узнать основы. Извини за это! – Anastasia

+0

Отлично. Это то, что я предполагал, но я хотел убедиться. Я обновил свой ответ ниже, чтобы отразить это. – mhlester

ответ

0

Вы уже конвертируете его в объект datetime, что на 100% правильное.

Мы должны сравнить это с двумя другими объектами datetime, представляющими начало и конец нашего диапазона дат. Создайте начальную отметку времени на уходящий год, месяц, день в классе даты и времени:

start_timestamp = datetime.datetime(2014, 1, 14) 

Теперь создать конечную метку времени, добавив timedelta объект, равный одной недели (7 дней)

end_timestamp = start_timestamp + datetime.timedelta(7) 

Последняя , обеспечить твит метку времени между началом и концом:

if start_timestamp < start_created_at < end_timestamp: 
    print 'yay!' 
+0

Я получаю сообщение об ошибке: TypeError: не может сравнивать даты с наименьшим временем смещения и смещения – Anastasia

+0

Посмотрите эту тему: http://stackoverflow.com/a/796019/3130539 , Вы можете либо добавить информацию о часовом поясе, либо удалить информацию о часовом поясе, чтобы совпадение «наивности» – mhlester

Смежные вопросы