python计算时间差的方法
本文实例讲述了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中关于时间和日期函数的常用计算总结(time和datatime)
1.获取当前时间的两种方法: 复制代码 代码如下: import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S")print nownow = datetime.datetime.now()print now 2.获取上个月最后一天的日期(本月的第一天减去1天) 复制代码 代码如下: last = datetime.date(datetime.date.today().year,datetime.date.today().mon
-
python简单实现计算过期时间的方法
本文实例讲述了python简单实现计算过期时间的方法.分享给大家供大家参考.具体如下: def time_passed(value): now = datetime.now() past = now - value if past.days: return u'%s天前' % past.days mins = past.seconds / 60 if mins < 60: return u'%s分钟前' % mins hours = mins / 60 return u'%s小时前' % hou
-
python利用datetime模块计算时间差
今天写了点东西,要计算时间差,我记得去年写过,于是今天再次mark一下,以免自己忘记 In [27]: from datetime import datetime In [28]: a=datetime.now() In [29]: b=datetime.now() In [32]: a Out[32]: datetime.datetime(2015, 4, 7, 4, 30, 3, 628556) In [33]: b Out[33]: datetime.datetime(2015, 4, 7
-
python运行时间的几种方法
最早见过手写的,类似于下面这种: import datetime def time_1(): begin = datetime.datetime.now() sum = 0 for i in xrange(10000000): sum = sum + i end = datetime.datetime.now() return end-begin print time_1() 输出如下: ➜ Python python time_1.py 0:00:00.280797 另外一种方法是使用tim
-
python使用datetime模块计算各种时间间隔的方法
本文实例讲述了python使用datetime模块计算各种时间间隔的方法.分享给大家供大家参考.具体分析如下: python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天.小时.秒,甚至是微秒,下面的代码就演示了datetime模块在计算时间差时的强大功能 # -*- coding: utf-8 -*- #!/usr/bin/env python import datetime #datetime一般的时间计算 d1 = datetime.datet
-
python记录程序运行时间的三种方法
python记录程序运行时间的三种方法 这里提供了python记录程序运行时间的三种方法,并附有实现代码,最后进行比较,大家参考下: 方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds 方法 2 start = time.time() run_f
-
10种检测Python程序运行时间、CPU和内存占用的方法
在运行复杂的Python程序时,执行时间会很长,这时也许想提高程序的执行效率.但该怎么做呢? 首先,要有个工具能够检测代码中的瓶颈,例如,找到哪一部分执行时间比较长.接着,就针对这一部分进行优化. 同时,还需要控制内存和CPU的使用,这样可以在另一方面优化代码. 因此,在这篇文章中我将介绍7个不同的Python工具,来检查代码中函数的执行时间以及内存和CPU的使用. 1. 使用装饰器来衡量函数执行时间 有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果: import time
-
Python计算程序运行时间的方法
本文实例讲述了Python计算程序运行时间的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import time def start_sleep(): time.sleep(3) if __name__ == '__main__': #The start time start = time.clock() #A program which will run for 3 seconds start_sleep() #The End time
-
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
执行时间 方法1 复制代码 代码如下: import datetimestarttime = datetime.datetime.now()#long runningendtime = datetime.datetime.now()print (endtime - starttime).seconds 方法 2 复制代码 代码如下: start = time.time()run_fun()end = time.time()print end-start 方法3 复制代码 代码如下: start
-
Python基于time模块求程序运行时间的方法
本文实例讲述了Python基于time模块求程序运行时间的方法.分享给大家供大家参考,具体如下: 要记录程序的运行时间可以利用Unix系统中,1970.1.1到现在的时间的毫秒数,这个时间戳轻松完成. 方法是程序开始的时候取一次存入一个变量,在程序结束之后取一次再存入一个变量,与程序开始的时间戳相减则可以求出. Python中取这个时间戳的方法为引入time类之后,使用time.time();就能够拿出来.也就是Java中的System.currentTimeMillis(). 由于Python
随机推荐
- 手把手编写PHP框架 深入了解MVC运行流程
- 详解vue-resource promise兼容性问题
- 如何在Apache和Nginx禁止上传目录里PHP的执行权限
- perl常问题集合之一
- IE6中使用position导致页面变形的解决方案(js代码)
- php对文件进行hash运算的方法
- c++编写简单的计算器程序
- C 语言指针概念的详解
- VC++中HTControl的CHTButton按钮控件类用法实例解析
- mysql 5.7.11 zip安装配置方法图文教程
- 在Linux系统的服务器上隐藏PHP版本号的方法
- C语言中free函数的使用详解
- jQuery组件easyui对话框实现代码
- jQuery实现只允许输入数字和小数点的方法
- ESC之ESC.wsf可以实现javascript的代码压缩附使用方法第1/5页
- Windows操作系统整理 只需五步就可完美
- Linux环境下wu-ftp服务的配置第1/2页
- 理解Android系统Binder机制
- Android短信发送器实现方法
- Java/Android 获取网络重定向文件的真实URL的示例代码
其他
- python app开发
- mybatis-plus 动态表名
- python threading限制最大
- python 图片相似度计算
- vue 子组件定义变量注意
- css div小三角
- python怎么安装jmespath模块
- 在vue模板中使用组件,以下写法符合规范的是
- android6.0 PowerManager 关机
- vue项目如何打包上线
- devenv 命令 编译
- iframe与父组件传参
- javadosome方法的主方法
- springboot集成thymeleaf生成pdf
- copula函数 模拟样本点 散点图
- AOP记录数据库表增删改操作日志
- spring 获取mybatis动态sql
- antdesign vue form 获取校验状态
- VUE个人信息页面设计
- node.js console.log设置颜色