如何使用Python计算两个日期之间的天数?

时间:2020-03-06 14:54:06  来源:igfitidea点击:

如果我有两个日期(例如''8/18/2008'和''9/26 / 2008'`),获取两个日期之间的天数的最佳方法是什么?

解决方案

如果我们有两个日期对象,则可以减去它们。

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

使用datetime的功能:

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

直到圣诞节的天数:

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

这里有更多的算术。

我们需要datetime模块。

>>> from datetime import datetime, timedelta 
>>> datetime(2008,08,18) - datetime(2008,09,26) 
datetime.timedelta(4)

或者其他示例:

Python 2.5.2 (r252:60911, Feb 22 2008, 07:57:53) 
[GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import datetime 
>>> today = datetime.date.today() 
>>> print today 
2008-09-01 
>>> last_year = datetime.date(2007, 9, 1) 
>>> print today - last_year 
366 days, 0:00:00

正如这里指出的