首页 > 解决方案 > 从“2020-06-28T06:00:18.166286Z”到“%Y-%m-%dT%H:%M:%SZ”给出错误格式 - 为什么?

问题描述

我正在尝试修复此错误:

print(dt.datetime.strftime("2020-06-04T07:11:38.559105Z","%Y-%m-%dT%H:%M:%SZ"))

TypeError:描述符“strftime”需要一个“datetime.date”对象但收到一个“str”

我需要将格式日期时间“2020-06-04T07:11:38. 559105Z ”更改为“2020-06-04T07:11: 38Z

标签: pythondatetime

解决方案


我相信您正在尝试使用该datetime.strptime功能。

我记得区别在于:

strptime has a p for parsing. 
strftime has an f for formatting. 

这里的另一个问题是您尝试解析的字符串包括微秒,但%f不包括微秒格式字符串。

尝试这个:

date_obj = dt.datetime.strptime("2020-06-04T07:11:38.559105Z","%Y-%m-%dT%H:%M:%S.%fZ")
date_str = date_obj.strftime("%Y-%m-%dT%H:%M:%SZ")

推荐阅读