2015-11-13 51 views
0
def work(dat1, dat2): 

>>> from datetime import date 
>>> work(date(1969, 10, 5), date(1975, 10, 14)) 

>>> x = dat1 - dat2 
>>> return x 
datetime.timedelta(2200) 

如何在不使用'datetime.timedelta'的情況下直接返回值?在這種情況下,我想返回2200.使用datetime:獲取日期之間的差異作爲整數

+1

https://docs.python.org/2/library/datetime.html#datetime.timedelta – jonrsharpe

+0

,(如果你需要更精確的結果)有可以 是時區的問題,請參閱[查找是否在日期時間之間經過了24小時 - Python](http://stackoverflow.com/q/26313520/4279) – jfs

回答

2

如果您只需要獲取日期(無時間)的差異,然後檢索days屬性就夠了:

(date(1975, 10, 14) - date(1969, 10, 5)).days 

如果您需要天浮點精密然後我會計算這個使用total_seconds()爲:一般

(dt1 - dt2).total_seconds()/(3600*24) 
+0

您的意思是'(date(...) - date(.. 。))而不是'(date(...),date(...))'? – glibdud

+0

是的,你說的對,我修好了。 –