python计算时间差的方法


Posted in Python onMay 20, 2015

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

Python 相关文章推荐
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
Python找出最小的K个数实例代码
Jan 04 Python
Python中的TCP socket写法示例
May 11 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
python 实现生成均匀分布的点
Dec 05 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
python+openCV对视频进行截取的实现
Nov 27 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 Python
python热力图实现的完整实例
Jun 25 Python
python中sys.argv参数用法实例分析
May 20 #Python
python文件操作之目录遍历实例分析
May 20 #Python
Python中使用strip()方法删除字符串中空格的教程
May 20 #Python
python字典排序实例详解
May 20 #Python
在Python中操作字符串之startswith()方法的使用
May 20 #Python
Python中splitlines()方法的使用简介
May 20 #Python
在Python中用split()方法分割字符串的使用介绍
May 20 #Python
You might like
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
PHP检测用户语言的方法
2015/06/15 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
python实现自主查询实时天气
2018/06/22 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
自学python用什么系统好
2020/06/23 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
心得体会怎么写
2013/12/30 职场文书
农村党支部先进事迹
2014/01/14 职场文书
简短大学毕业感言
2014/01/18 职场文书
机关门卫制度
2014/02/01 职场文书
公司给客户的感谢信
2015/01/23 职场文书
学习保证书怎么写
2015/02/26 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
新店开张宣传语
2015/07/13 职场文书
创业计划书之花店
2019/09/20 职场文书
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技