python计算时间差的方法


本文实例讲述了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程序设计有所帮助。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM