两个日期之间的日期数

Alf*_*red 3 python datetime date

我想获得两个日期之间的天数。但这些日子不必是全天 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
Run Code Online (Sandbox Code Playgroud)

osk*_*ros 7

只需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)
Run Code Online (Sandbox Code Playgroud)

  • 所以在问题的原始代码中它将是`(b.date()-a.date()).days` (2认同)
  • @CedricZoppolo 确定如果你希望 `a` 和 `b` 保留为 `datetime` 对象而不是 `date` 对象,你可以这样做。 (2认同)