最近从es数据获取时间发现,
返回的一个时间为2022-04-13T17:27:13.000 08:00
查询了一下 他是一个ISO 8601格式
想要的结果是 2022-05-23 16:22:41
找了很多内容
直接上代码
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])把它变成我想要的格式。
总结:没什么好说的,主要是找一个共同的格式来转换