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查找第k小元素代码分享
Dec 18 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
python实现n个数中选出m个数的方法
Nov 13 Python
python面试题小结附答案实例代码
Apr 11 Python
Python实现12306火车票抢票系统
Jul 04 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
Apr 16 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
pytorch model.cuda()花费时间很长的解决
Jun 01 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
javascript function、指针及内置对象
2009/02/19 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
分享Python文本生成二维码实例
2016/01/06 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Python定义一个Actor任务
2020/07/29 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
班队活动设计方案
2014/01/30 职场文书
教学实验楼管理制度
2014/02/01 职场文书
北体毕业生求职信
2014/02/28 职场文书
企业党员公开承诺书
2014/03/26 职场文书
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
Python基本的内置数据类型及使用方法
2022/04/13 Python