標準ライブラリを使用するだけで、Python で ISO8601 時間形式を秒/UNIX/エポック時間に変換しようとしています。
時間形式 = '2012-09-30T15:31:50.262-08:00'
基本的に、時間は解析して秒に戻す文字列になります。
必要な値をスライスして選択することは可能ですが、これよりも良い方法はありますか?
import datetime, time
def convert_enddate_to_seconds(self, ts):
"""Takes ISO 8601 format(string) and converts into epoch time."""
dt = datetime.datetime.strptime(ts[:-7],'%Y-%m-%dT%H:%M:%S.%f')+\
datetime.timedelta(hours=int(ts[-5:-3]),
minutes=int(ts[-2:]))*int(ts[-6:-5]+'1')
seconds = time.mktime(dt.timetuple()) + dt.microsecond/1000000.0
return seconds