今天寫了點東西,要計算時間差,我記得去年寫過,于是今天再次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)等。
以上所述就是本文的全部內容了,希望大家能夠喜歡。