两个日期之间的日期数
我想获得两个日期之间的天数。但这些日子不必是全天 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
回答
只需datetime通过调用删除时间组件.date(),
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)
- 所以在问题的原始代码中它将是`(b.date()-a.date()).days`
- @CedricZoppolo 确定如果你希望 `a` 和 `b` 保留为 `datetime` 对象而不是 `date` 对象,你可以这样做。