今天写了点东西,要计算时间差,我记得去年写过,于是今天再次mark一下,以免自己忘记
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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模块可以很方便的解决这个问题,举例如下:
1
2
3
4
5
|
>>> import datetime
>>> d1 = datetime.datetime( 2005 , 2 , 16 )
>>> d2 = datetime.datetime( 2004 , 12 , 31 )
>>> (d1 - d2).days
47
|
上例演示了计算两个日期相差天数的计算。
1
2
3
4
5
|
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
|
上例演示了计算运行时间的例子,以秒进行显示。
1
2
3
|
>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours = 10 )
>>> d3.ctime()
|
上例演示了计算当前时间向后10小时的时间。
其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等。
以上所述就是本文的全部内容了,希望大家能够喜欢。