为什么 datetime.strptime 输出序列化的日期?

Why is datetime.strptime outputting dates as serialized?

我只是想将日期字符串转换为日期:

import datetime
exampleDate = 'Jul 8 2021'
datetime.datetime.strptime(exampleDate, '%b %d %Y')

但是,我稍后将其输出到 json,但出现错误:

datetime.datetime(2021, 7, 8, 0, 0) is not JSON serializable

可以在 Python 控制台中确认 exampleDate 没有作为日期打印出来,而是以这种序列化的方式打印出来。我只想要:2021-07-08.

因为你不能把datetime.datetime放到JSON。 您需要将其格式化为字符串。

d = datetime.datetime.strptime(exampleDate, '%b %d %Y')

type(d)datetime.datetime

现在让我们将其转换为带有 strftime 的字符串:

date_str = d.strftime("%Y-%m-%d")
print(date_str)

您得到了预期的格式:2021-07-08。然后你把它放到 JSON.