本文實例講述了python計算時間差的方法。分享給大家供大家參考。具體分析如下:
1、問題:
給定你兩個日期,如何計算這兩個日期之間間隔幾天,幾個星期,幾個月,幾年?
2、解決方法:
標准模塊datetime和第三方包dateutil(特別是dateutil的rrule.count方法)能非常簡單迅速的幫你解決這個問題。
from
dateutil
import
rrule
import
datetime
def
weeks_between(start_date, end_date):
weeks
=
rrule.rrule(rrule.WEEKLY, dtstart
=
start_date, until
=
end_date)
return
weeks.count( )
rrule方法允許你根據日期(DAILY),星期(WEEKLY),年(YEARLY)來設置尺度計算。下面用一段代碼來測試一下:
if
_ _name_ _
=
=
'_ _main_ _'
:
starts
=
[datetime.date(
2005
,
01
,
04
), datetime.date(
2005
,
01
,
03
)]
end
=
datetime.date(
2005
,
01
,
10
)
for
s
in
starts:
days
=
rrule.rrule(rrule.DAILY, dtstart
=
s, until
=
end).count( )
print
"%d days shows as %d weeks "
%
(days, weeks_between(s, end))
7 days shows as 1 weeks
8 days shows as 2 weeks
Rrule計算是以整數計算的,它不會返回0.5星期之類的結果,所以8天會被算為兩個星期。
當然你可以不必定義一個尺寸,直接一句return rrule.rrule(rrule.WEEKLY, dtstart=start_date, until=end_date).count( )就可以得到結果。
希望本文所述對大家的Python程序設計有所幫助。