RFC 822タイムスタンプをPythonで人間が読める形式(Twitterのように)に変換するPythonモジュールを知っている人はいますか?
parsedatetimeを見つけましたが、これは逆のようです。
RFC 822タイムスタンプをPythonで人間が読める形式(Twitterのように)に変換するPythonモジュールを知っている人はいますか?
parsedatetimeを見つけましたが、これは逆のようです。
Pythonでは、rfc822モジュールを使用できます。このモジュールは、parsedateメソッドを提供します。
RFC2822のルールに従って日付を解析しようとします。
ただし、このモジュールは非推奨です。
バージョン2.3以降非推奨:rfc822モジュールよりも電子メールパッケージを使用する必要があります。このモジュールは、下位互換性を維持するためにのみ存在し、3.0で削除されました。
このコメントによると、 email.utilsモジュールのparsedateメソッドを使用することをお勧めします。
email.utils.parsedate(date)
編集:
サンプルコード:
import email.utils
from time import mktime
from datetime import datetime
example_date = "Sat, 02 Mar 2011 15:00:00"
date_parsed = email.utils.parsedate(example_date)
dt = datetime.fromtimestamp(mktime(date_parsed))
today = datetime.today()
diff_date = today - dt # timedelta object
print "%s days, %s hours ago" \
% (diff_date.days, diff_date.seconds / 3600)
出力(今のところ):
31 days, 2 hours ago
datetime.strptime
タイムスタンプを、フォーマットできる日時オブジェクトに変換しますdatetime.strftime
http://docs.python.org/library/datetime.html#strftime-strptime-behavior