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用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
python实现从字典中删除元素的方法
May 04 Python
python常见数制转换实例分析
May 09 Python
Python自动扫雷实现方法
Jul 25 Python
在Python中移动目录结构的方法
Jan 31 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 Python
详解Python3中ceil()函数用法
Feb 19 Python
Python中Numpy mat的使用详解
May 24 Python
python类的实例化问题解决
Aug 31 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
PHP编码规范的深入探讨
2013/06/06 PHP
php代码书写习惯优化小结
2013/06/20 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
爬山算法简介和Python实现实例
2014/04/26 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
PyTorch实现AlexNet示例
2020/01/14 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
试用期转正鉴定评语
2014/01/27 职场文书
厨师长岗位职责
2014/03/02 职场文书
大学信息公开实施方案
2014/03/09 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
大专护理专业自荐信
2015/03/25 职场文书
工程催款通知书
2015/04/17 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP