0
pubDateのは形式である:保管RSS pubDateの
2011-12-19T01:56:28から06:00
2011-10-19T06: 11:02 + 00:私は関係なく、タイムゾーンの、(db.DateTimePropertyに保管)、日付ごとにアイテムを並べ替えることができるように00
はどのようにして、共通の時間帯にこれを変換することができますか?
pubDateのは形式である:保管RSS pubDateの
2011-12-19T01:56:28から06:00
2011-10-19T06: 11:02 + 00:私は関係なく、タイムゾーンの、(db.DateTimePropertyに保管)、日付ごとにアイテムを並べ替えることができるように00
はどのようにして、共通の時間帯にこれを変換することができますか?
これは、ISO8601日時フォーマットの変形です。これは、そのような日付を解析するための私の関数です:
from datetime import datetime, timedelta
def parse_iso8601_datetime(dtstr, loose=False):
"""
Convert ISO8601 datetime string and return Python datetime.datetime.
Specify loose=True for more relaxed parsing accepting eg "YYYY-MM-DD" format.
Raise ValueError on malformed input.
"""
dt = None
if len(dtstr) == 19: # (eg '2010-05-07T23:12:51')
dt = datetime.strptime(dtstr, "%Y-%m-%dT%H:%M:%S")
elif len(dtstr) == 20: # (eg '2010-05-07T23:12:51Z')
dt = datetime.strptime(dtstr, "%Y-%m-%dT%H:%M:%SZ")
elif len(dtstr) == 25: # (eg '2010-05-07T23:12:51-08:00')
dt = datetime.strptime(dtstr[0:19], "%Y-%m-%dT%H:%M:%S")
tzofs = int(dtstr[19:22])
dt = dt - timedelta(hours=tzofs)
else:
if loose:
if len(dtstr) == 10: # (eg '2010-05-07')
dt = datetime.strptime(dtstr, "%Y-%m-%d")
if not dt:
raise ValueError("Invalid ISO8601 format: '%s'" % dtstr)
return dt
優秀!,私の作品:) – ofko