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实现在字符串中查找子字符串的方法
Jul 11 Python
python开发中module模块用法实例分析
Nov 12 Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
Python实现点阵字体读取与转换的方法
Jan 29 Python
Python turtle绘画象棋棋盘
Aug 21 Python
python可以用哪些数据库
Jun 22 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 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 中的批处理的实现
2007/06/14 PHP
php 方便水印和缩略图的图形类
2009/05/21 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
javascript编程起步(第三课)
2007/02/27 Javascript
javascript 常用关键字列表集合
2007/12/04 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
python 域名分析工具实现代码
2009/07/15 Python
打开电脑上的QQ的python代码
2013/02/10 Python
跟老齐学Python之模块的加载
2014/10/24 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
python解析多层json操作示例
2019/12/30 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
奖学金自我鉴定范文
2013/10/03 职场文书
晚会邀请函范文
2014/01/24 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
森林防火宣传标语
2014/06/27 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
银行求职自荐信范文
2015/03/04 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL