Python で Schema.org の Date 形式(ISO 8601)を扱う

Schema.org の Date は ISO 8601 という形式をとっている。

2019-05-21T19:35:20+09:00

Python でこれを扱うには dateutil を使う。

import dateutil.parser

text = '2019-05-21T19:35:20+09:00'

dt = dateutil.parser.parse(text)

t = dt.strftime('%Y-%m-%d %H:%M:%S')

print(t)
# 2019-05-21 19:35:20

print(dt.year)  # 2019
print(dt.month)  # 5

ISO 8601 の文字列を dateutil.parser の parser にかけると datetime 形式のフォーマットに変換される。

あとは datetime の strftime を使って、任意の形式に表示する。上の

%Y-%m-%d %H:%M:%S

という形式は MySQL の timestamp である。