在 python 中将字符串转换为时间会出错

Converting string to time in python is giving error

这个问题可能有答案,但我找不到 link。我正在尝试将字符串转换为时间。 我的字符串看起来像 '9 a.m.'

x = datetime.datetime.strptime(start,"%I:%M %p")


我收到以下错误:

time data '4:30 p.m.' does not match format '%I:%M %p'

我哪里错了??

您的问题是 "p.m." 与 "pm" 不同,并且 %p 只查找 "am" 或 "pm"。

为了从“4 p.m”转换字符串 start。到“下午 4 点”,您可以使用

start = start.replace(".", "")

这将替换所有“.”字符串中的字符完全没有。

如果删除“.”在将字符串转换为日期时间之前从字符串中提取,应该不会有任何问题。