2

RFC 822タイムスタンプをPythonで人間が読める形式(Twitterのように)に変換するPythonモジュールを知っている人はいますか?

parsedatetimeを見つけましたが、これは逆のようです。

4

3 に答える 3

8

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
于 2011-04-02T14:43:08.663 に答える
2

datetime.strptimeタイムスタンプを、フォーマットできる日時オブジェクトに変換しますdatetime.strftime

http://docs.python.org/library/datetime.html#strftime-strptime-behavior

于 2011-04-02T14:41:20.803 に答える
0

見る

http://docs.python.org/library/rfc822.html#rfc822.parsedate

于 2011-04-02T14:42:10.007 に答える