如何计算两个给定日期之间的天数

773 投票
16 回答
1067333 浏览
提问于 2025-04-11 09:22

如果我有两个日期,比如 '8/18/2008''9/26/2008',那么有什么好的方法可以计算这两个日期之间的天数呢?

16 个回答

64

距离圣诞节还有多少天:

>>> import datetime
>>> today = datetime.date.today()
>>> someday = datetime.date(2008, 12, 25)
>>> diff = someday - today
>>> diff.days
86

更多的数学运算可以在这里找到。

238

利用日期时间的强大功能:

from datetime import datetime
date_format = "%m/%d/%Y"

a = datetime.strptime('8/18/2008', date_format)
b = datetime.strptime('9/26/2008', date_format)

delta = b - a

print(delta.days) 

# that's it how to calculate number of days between two given dates
1200

如果你有两个日期对象,你可以直接把它们相减,这样就会得到一个叫做 timedelta 的对象。

from datetime import date

d0 = date(2008, 8, 18)
d1 = date(2008, 9, 26)
delta = d1 - d0
print(delta.days)

相关文档的部分内容在这里: https://docs.python.org/library/datetime.html

你可以查看 这个回答,里面有另一个例子。

撰写回答