python利用datetime模块计算时间差

 更新时间:2015年08月04日 09:35:41   作者:lastme  
python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天、小时、秒,甚至是微秒,下面我们就来详细看下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, 4, 34, 41, 907292)

In [34]: str(a)                   字符串的转换,用户储存到文本或者数据库
Out[34]: '2015-04-07 04:30:03.628556'

In [35]:datetime.strptime(str(a),"%Y-%m-%d %H:%M:%S.%f")
Out[35]:datetime.datetime(2015, 4, 7, 4, 30, 3, 628556)

In [36]: (b-a)
Out[36]: datetime.timedelta(0, 278, 278736)

In [37]: (b-a).seconds              时间差的计算,单位为秒
Out[37]: 278

Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等
A:使用datetime模块可以很方便的解决这个问题,举例如下:

>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 - d2).days
47

上例演示了计算两个日期相差天数的计算。

import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime - starttime).seconds

上例演示了计算运行时间的例子,以秒进行显示。

>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours=10)
>>> d3.ctime()

上例演示了计算当前时间向后10小时的时间。

其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • Python QT组件库qtwidgets的使用

    Python QT组件库qtwidgets的使用

    这篇文章主要介绍了Python QT组件库qtwidgets的使用,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-11-11
  • 用生成器来改写直接返回列表的函数方法

    用生成器来改写直接返回列表的函数方法

    下面小编就为大家带来一篇用生成器来改写直接返回列表的函数方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 在Django中Pyecharts生成图表实现

    在Django中Pyecharts生成图表实现

    pyecharts是支持python的一种可视化,那么在Django中Pyecharts如何生成图表,主要有两种方法,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Python编程求解二叉树中和为某一值的路径代码示例

    Python编程求解二叉树中和为某一值的路径代码示例

    这篇文章主要介绍了Python编程求解二叉树中和为某一值的路径代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python drop方法删除列之inplace参数实例

    Python drop方法删除列之inplace参数实例

    这篇文章主要介绍了Python drop方法删除列之inplace参数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python算法应用实战之栈详解

    Python算法应用实战之栈详解

    栈是什么,你可以理解为一种先入后出的数据结构(First In Last Out),一种操作受限的线性表。下面这篇文章主要给大家介绍了Python中栈的应用实战,文中给出了多个实例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • 如何理解及使用Python闭包

    如何理解及使用Python闭包

    闭包是优雅的 Python 结构,在本文中,我们将了解它们,如何定义闭包,为什么以及何时使用它们.但是在讨论什么是闭包之前,我们必须首先理解什么是嵌套函数,以及作用域规则是如何为它们工作的.那么让我们开始吧,需要的朋友可以参考下
    2021-06-06
  • 详解用Python处理HTML转义字符的5种方式

    详解用Python处理HTML转义字符的5种方式

    本文介绍了详解用Python处理HTML转义字符的5种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Python编程源码报错解决方法总结经验分享

    Python编程源码报错解决方法总结经验分享

    这篇文章主要介绍了在平时Python编程工作中一些源码报错的解决方法总结经验分享,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失

    PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失

    这篇文章主要介绍了PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论