当前位置: 首页 > 编程笔记 >

python计算时间差的方法

东郭海阳
2023-03-14
本文向大家介绍python计算时间差的方法,包括了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程序设计有所帮助。

 类似资料:
  • 问题内容: 我有一个带有StartDate列的表,我想计算两个连续记录之间的时间差。 谢谢。 @ Mark Byers和@ Yahia,我将请求表作为requestId,startdate 我想知道requestid 1和2、2和3、3和4等之间的时差是多少。我知道我需要在表上进行自我连接,但是我在子句上没有得到正确的支持。 问题答案: 要实现您的要求,请尝试以下操作(从OP编辑后进行更新): 如

  • 本文向大家介绍oralce 计算时间差的实现,包括了oralce 计算时间差的实现的使用技巧和注意事项,需要的朋友参考一下 oralce 计算时间差的实现 查询系统时间和给定时间相差的毫秒数 将account表中第一条数据的dcur_state_start_date(timestamp类型)字段值的相差豪秒数算出来 备注 *24(小时) *60(分) *60(秒) *1000(毫秒) 感谢阅读,希

  • 问题内容: 在代码的第四行(忽略空格和注释),然后我计算两个日期之间的月份差。这行得通,但看起来有些古怪。有没有更好的办法? 问题答案:

  • 本文向大家介绍Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算,包括了Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算的使用技巧和注意事项,需要的朋友参考一下 使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算。 variance: 方差 方差(Variance)是概率论中最基础

  • 本文向大家介绍js时间比较 js计算时间差的简单实现方法,包括了js时间比较 js计算时间差的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 页面使用dateTimePicker获取数据类型为”12:12:12“ 如果输入”11:11:11“要自动计算两者时间差 代码如下: 以上这篇js时间比较 js计算时间差的简单实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多

  • 问题内容: 在我的程序开始和结束时, 但是,当我尝试区别时,我会遇到语法错误…。我做错了一些事情,但是我不确定发生了什么… 基本上,我只想在程序开始时将时间存储在变量中,然后将第二次时间存储在末尾的第二个变量中,然后在程序的最后一位中计算差并显示出来。我不是要为功能速度计时。我正在尝试记录用户通过某些菜单花费的时间。做这个的最好方式是什么? 问题答案: 该模块将为您完成所有工作: 如果您不想显示微