两个日期之间的日期数

我想获得两个日期之间的天数。但这些日子不必是全天 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` 对象,你可以这样做。

以上是两个日期之间的日期数的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>