两个日期之间的天数

4

我想获取两个日期之间的天数,但这些天数不必是完整的 24 小时。如果第一个日期紧贴午夜,并且第二个日期紧接着午夜,我仍然希望它被计算为一天。

from datetime import datetime
a = datetime.strptime("2021-07-13 22:00:00", "%Y-%m-%d %H:%M:%S")
b = datetime.strptime("2021-07-14 06:00:00", "%Y-%m-%d %H:%M:%S")

print((b-a).days)

# Output: 0
# Expected output: 1
1个回答

7

只需调用.date()即可删除datetime的时间组件。

from datetime import datetime
a = datetime.strptime("2021-07-13 22:00:00", "%Y-%m-%d %H:%M:%S").date()
b = datetime.strptime("2021-07-14 06:00:00", "%Y-%m-%d %H:%M:%S").date()

print((b-a).days)

2
在问题的原始代码中,它将是(b.date()-a.date()).days - Cedric Zoppolo
2
@CedricZoppolo 如果您想让ab保持为datetime对象而不是date对象,那是可行的。 - oskros

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接