python中时间转换错误:时间戳转换|带有时区的转换 如何解析ISO 8601格式的日期? 2018-06-25T20:59:31.757+08:00
有个JAVA接口 返回的一个时间为2018-06-25T20:59:31.757+08:00
查询了一下 他是一个ISO 8601格式
想要的结果是 2018-06-25 20:59:31
于是乎找了好多办法 都不好使
直接上代码
import time
format1="%Y-%m-%dT%H:%M:%S.%f+08:00"
format2="%Y-%m-%d %H:%M:%S"
# t1 = "2017-03-15T00:00:00.000+08"
t1 = "2018-06-25T20:59:31.757+08:00"
#t1 = '2020-03-11T17:15:07+00:00'
t = time.strptime(t1, format1)
t2 = time.strftime(format2,t)
print(t2)
2018-06-25 20:59:31
若格式为 2020-03-11T17:15:07+00:00
也就是与上一条的区别是秒后面没有小数点了 此时修改代码 如下:
format1="%Y-%m-%dT%H:%M:%S+00:00"
format2="%Y-%m-%d %H:%M:%S"
# t1 = "2017-03-15T00:00:00.000+08"
t1 = '2020-03-11T17:15:07+00:00'
t = time.strptime(t1, format1)
t2 = time.strftime(format2,t)
print(t2)
2020-03-11 17:15:07
思路: 先把字符串通过time.strptime(string[, format])转成struct_time,然后利用time.strftime(format[, t])转成我要的格式。