python利用datetime模块计算时间差

yipeiwu_com6年前Python基础

今天写了点东西,要计算时间差,我记得去年写过,于是今天再次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调用RPC接口的实例详解

要调用RPC接口,python提供了一个框架grpc,这是google开源的 rpc相关文档: https://grpc.io/docs/tutorials/basic/python.h...

python之Flask实现简单登录功能的示例代码

python之Flask实现简单登录功能的示例代码

网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL。 用到的一些知识点:Flask-SQLAlchemy、Fla...

Python实现二分法算法实例

1.算法:(设查找的数组期间为array[low, high]) (1)确定该期间的中间位置K (2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域...

python中使用print输出中文的方法

python中使用print输出中文的方法

看Python简明教程,学习使用print打印字符串,试了下打印中文,不行。 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (un...

Python 3.8正式发布,来尝鲜这些新特性吧

今天 Python3.8 发布啦,它是 Python2 终结前最后一个大版本,我们一起看看这个版本都添加了那些新功能和特性。 PEP 572: Assignment Expression...