我正在尝试仅使用标准库将 ISO8601 时间格式转换为 python 中的秒/unix/epoch 时间。
时间格式 = '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