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转码问题的解决方法
Oct 07 Python
python的dict,set,list,tuple应用详解
Jul 24 Python
python的类变量和成员变量用法实例教程
Aug 25 Python
Python文件处理
Feb 29 Python
python中redis的安装和使用
Dec 04 Python
python requests 库请求带有文件参数的接口实例
Jan 03 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
Python中用xlwt制作表格实例讲解
Nov 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
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
php查看网页源代码的方法
2015/03/13 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
一段多浏览器的"复制到剪贴板"javascript代码
2007/03/27 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
go语言计算两个时间的时间差方法
2015/03/13 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
深入理解Django的中间件middleware
2018/03/14 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python实现剪切功能
2019/01/23 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
浅谈CSS3中display属性的Flex布局的方法
2017/08/14 HTML / CSS
交通专业个人自荐信格式
2013/09/23 职场文书
光电信息专业应届生求职信
2013/10/07 职场文书
给海归自荐信的建议
2013/12/13 职场文书
广告词串烧
2014/03/19 职场文书
青涩记忆观后感
2015/06/18 职场文书
重温入党誓词主持词
2015/06/29 职场文书