您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

python计算时间差的方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   本文实例讲述了python计算时间差的方法。分享给大家供大家参考。具体分析如下:

  1、问题:

  给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年?

  2、解决方法:

  标准模块datetime和第三方包dateutil(特别是dateutil的rrule.count方法)能非常简单迅速的帮你解决这个问题。

  ?

1 2 3 4 5 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)来设置尺度计算。下面用一段代码来测试一下:

  ?

1 2 3 4 5 6 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程序设计有所帮助。