日期时间对象到包含 AM/PM 的字符串

Datetime object to string containing AM/PM

我目前有一个 datetime 对象,其时间看起来像 06:00:00 并且 am 试图将它转换为看起来像“6:00 am”的字符串。

我一直在尝试使用 Python Strftime 库,但遇到了问题,有人可以指出正确的方向吗?谢谢 :)

您应该可以使用 %I:%M %p,按照以下记录:

>>> import datetime

>>> now = datetime.datetime.now()

>>> now
datetime.datetime(2020, 3, 30, 14, 6, 49, 62354)

>>> print(now.strftime("%I:%M %p"))
02:06 PM

有关不同格式代码的列表,请参阅 here

如果正如你的问题所暗示的那样,你需要它没有小时的前导零,并且在小写中,你可以只使用正则表达式来表示前者和lower() 对于后者:

>>> import re

>>> print(re.sub("^0", "", now.strftime("%I:%M %p")).lower())
2:06 pm

这对我有用:

>>> import datetime
>>> datetime.datetime.now().strftime( '%H:%M %p' )
'15:09 PM'