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使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
如何在python中使用selenium的示例
Dec 26 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
python os模块常用的29种方法使用详解
Jun 02 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
三种php连接access数据库方法
2013/11/11 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
获取url中用&隔开的参数实例(分享)
2017/05/28 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
python的Template使用指南
2014/09/11 Python
python线程、进程和协程详解
2016/07/19 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python实战教程之自动扫雷
2018/07/13 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python通过format函数格式化显示值
2020/10/17 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
解除财产保全担保书
2014/05/20 职场文书
质量管理标语
2014/06/12 职场文书
自我查摆剖析材料
2014/10/11 职场文书
护士2015年终工作总结
2015/04/29 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书