python計(jì)算時(shí)間差的方法
本文實(shí)例講述了python計(jì)算時(shí)間差的方法。分享給大家供大家參考。具體分析如下:
1、問題:
給定你兩個(gè)日期,如何計(jì)算這兩個(gè)日期之間間隔幾天,幾個(gè)星期,幾個(gè)月,幾年?
2、解決方法:
標(biāo)準(zhǔn)模塊datetime和第三方包dateutil(特別是dateutil的rrule.count方法)能非常簡單迅速的幫你解決這個(gè)問題。
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方法允許你根據(jù)日期(DAILY),星期(WEEKLY),年(YEARLY)來設(shè)置尺度計(jì)算。下面用一段代碼來測試一下:
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))
將輸出這樣的結(jié)果:
7 days shows as 1 weeks
8 days shows as 2 weeks
Rrule計(jì)算是以整數(shù)計(jì)算的,它不會(huì)返回0.5星期之類的結(jié)果,所以8天會(huì)被算為兩個(gè)星期。
當(dāng)然你可以不必定義一個(gè)尺寸,直接一句return rrule.rrule(rrule.WEEKLY, dtstart=start_date, until=end_date).count( )就可以得到結(jié)果。
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
用Python每天自動(dòng)給女友免費(fèi)發(fā)短信
大家好,本篇文章主要講的是用Python每天自動(dòng)給女友免費(fèi)發(fā)短信,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Python可視化工具如何實(shí)現(xiàn)動(dòng)態(tài)圖表
這篇文章主要介紹了Python可視化工具如何實(shí)現(xiàn)動(dòng)態(tài)圖表,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10基于Python實(shí)現(xiàn)繪制簡單動(dòng)圖的示例詳解
動(dòng)畫是一種高效的可視化工具,能夠提升用戶的吸引力和視覺體驗(yàn),有助于以富有意義的方式呈現(xiàn)數(shù)據(jù)可視化,本文的主要介紹在Python中兩種簡單制作動(dòng)圖的方法,需要的可以了解下2023-10-10淺談keras中的batch_dot,dot方法和TensorFlow的matmul
這篇文章主要介紹了淺談keras中的batch_dot,dot方法和TensorFlow的matmul,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06python查看包版本、更新單個(gè)包、卸載單個(gè)包的操作方法
這篇文章主要介紹了python查看包版本、更新單個(gè)包、卸載單個(gè)包,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12