以下代码示例:
>>> from datetime import datetime
>>> future = datetime.strptime('12:00', '%I:%M')
>>> past = datetime.strptime('11:59', '%I:%M')
>>> future < past
>>> True # expected False, because '12:00' > '11:59'
>>> past_2 = datetime.strptime('11:58', '%I:%M')
>>> past < past_2
>>> False
为什么日期时间比较操作返回 True 而不是 False?
最佳答案
%I
是十二小时制的小时数。除非您提供 AM 或 PM (%p
),否则它将采用 AM 选择。 12:00 AM(即午夜)是在 11:59 AM 之前。
如果您使用%H
,您将获得 24 小时制,其中 12:00 将是中午而不是午夜。
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
关于如果比较两次,例如 : 12:00 and 11:59,Python 日期时间比较不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38224199/