将日期字符串转换为另一种日期字符串格式

Convert date string to another date string format

我正在尝试将一个字符串日期时间转换为另一个字符串时间,即...May 4, 2021但我收到以下错误

#convert '2021-05-04T05:55:43.013-0500' ->>> May 4, 2021

timing = '2021-05-04T05:55:43.013-0500'
ans = timing.strftime(f'%Y-%m-%d 'f'%H:%M:%S.%f')

这里是错误

AttributeError: 'str' object has no attribute 'strftime'

我做错了什么?

你想要 datetime.strptime() 而不是 timing.strftime()timing 是一个字符串,没有任何名为 strftime 的函数。 datetime 模块的 datetime class 我知道,这很混乱,OTOH,确实有一个函数可以将字符串解析为 datetime 对象。然后,那个日期时间对象 有一个函数strftime() 可以将其格式化为字符串!

from datetime import datetime

timing = '2021-05-04T05:55:43.013-0500'

dtm_obj = datetime.strptime(timing, f'%Y-%m-%dT%H:%M:%S.%f%z')

formatted_string = dtm_obj.strftime('%b %d, %Y')
print(formatted_string)
# Outputs:
# May 04, 2021