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 相关文章推荐
Pyramid添加Middleware的方法实例
Nov 27 Python
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
python集合类型用法分析
Apr 08 Python
简化Python的Django框架代码的一些示例
Apr 20 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
利用Python获取操作系统信息实例
Sep 02 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
python3爬虫中多线程的优势总结
Nov 24 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 Python
python中numpy数组与list相互转换实例方法
Jan 29 Python
Pytest allure 命令行参数的使用
Apr 18 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 MemCached 高级缓存应用代码
2010/08/05 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
自定义django admin model表单提交的例子
2019/08/23 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
python urllib和urllib3知识点总结
2021/02/08 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
银行工作检查书范文
2014/01/31 职场文书
2015年少先队活动总结
2015/03/25 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python