如果比较两次,例如 : 12:00 and 11:59,Python 日期时间比较不正确

标签 python datetime datetime-comparison

以下代码示例:

 >>> 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/

相关文章:

python - 从 Python 列表中查找最近的 5 个日期

c# - 将 C# 日期时间值与 SQL Server Compact 4 日期时间进行比较

c# - 为什么 datetime 不能比较?

python - python程序中的插值错误

python - 是否可以在 NumPy 中更改随机生成器的种子?

python - 如何在 Python 中将日期时间转换为 UTC 时间戳?

java - 如果 Java Android 的几分钟结束,如何检查此日期时间模式

python - Flask 在 URL 具有 get 参数时添加斜杠

python - 在 python 中 for 循环的最后一次迭代期间执行操作

python - 如何在 python 中自动显示已编辑的 datetime.now()?