python-twitterでツイート時刻(created_at)からローカルのdatetimeを作成する

スポンサーリンク

python-twitterのStatusクラスからの投稿時刻の取り方には二通りあり、それぞれUTCでの投稿時刻を、Status.created_atはRFC822フォーマットのunicode文字列、Status.created_at_in_secondsはエポック秒で返すようです。

>>> statuses = api.GetHomeTimeline()
>>> statuses[0].created_at
u'Fri Oct 17 12:02:02 +0000 2014'
>>> statuses[0].created_at_in_seconds
1413547322

created_at_in_secondsを使ったほうが早い(というか結局必要なことを内部でやってくれてる)のでそのサンプル

import datetime
>>> datetime.datetime.fromtimestamp(statuses[0].created_at_in_seconds)
datetime.datetime(2014, 10, 17, 21, 2, 2)

fromtimestampはローカル時刻を返すので、+9時間になっています。

ちなみにcreated_atをエポック秒に変換するにはライブラリを参考にすると

import calendar, email
>>> calendar.timegm(email.utils.parsedate(statuses[0].created_at))
1413547322

こんな感じでできます。

スポンサーリンク
スポンサーリンク
Python
フォローする
Akashic Records

コメント

タイトルとURLをコピーしました