2016-05-18 [長年日記]
■XML Schema で定義されている dateTime 表現形式の文字列を得る
要するに、RubyのTime#xmlschema。
from datetime import datetime import pytz datetime.now(pytz.timezone('Asia/Tokyo')).replace(microsecond=0).isoformat() #=>'2016-05-18T10:42:40+09:00'
ミリ秒が要るか要らないかはお好みで。あと、pytzは標準モジュールではないので要インストール。
逆向きはPythonでのTimezone部分の取り扱いが微妙な感じなので、
datetime.strptime('2016-05-18T10:42:40+09:00'[:-6], '%Y-%m-%dT%H:%M:%S').replace(tzinfo=pytz.timezone('Asia/Tokyo')) #=>datetime.datetime(2016, 5, 18, 10, 42, 40, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)
とかやってごまかすなど。