Python中datetime 計算時間

2021-09-18 00:15:49 字數 1901 閱讀 9213

python中通過datetime模組可以很方便的計算兩個時間的差,datetime的時間差單位可以是天、小時、秒,甚至是微秒,下面我們就來詳細看下datetime的強大功能:

from datetime import datetime 

a=datetime.now() 

b=datetime.now() 

>>>a

>>>datetime.datetime(2015, 4, 7, 4, 30, 3, 628556) 

>>>b

>>>datetime.datetime(2015, 4, 7, 4, 34, 41, 907292) 

>>>str(a) #字串的轉換,使用者儲存到文字或者資料庫

'2015-04-07 04:30:03.628556' 

>>>datetime.strptime(str(a),"%y-%m-%d %h:%m:%s.%f")

datetime.datetime(2015, 4, 7, 4, 30, 3, 628556) 

>>> (b-a)

out: datetime.timedelta(0, 278, 278736) 

>>>(b-a).seconds #時間差的計算,單位為秒

q:如何方便的計算兩個時間的差,如兩個時間相差幾天,幾小時等

a:使用datetime模組可以很方便的解決這個問題,舉例如下:

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

上例演示了計算兩個日期相差天數的計算。

>>>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)等。
輸入:

from dateutil.parser import parse

a = parse('2017-10-01/12:12:12')

b = parse('2013-3-4/10:10:10')

print((a-b).days)

print((a-b).seconds)

print((a-b).total_seconds())

輸出:

1672

7322

144468122.0

注意:

1.days:來獲取時間差的天數

2.seconds:來獲取時間差中的秒數。注意,seconds獲得的秒只是時間差中的小時、分鐘和秒部分的和,並沒有包含時間差的天數

3.total_seconds:來獲取準確的時間差,並將時間差轉換為秒

Python中time和datetime模組

time模組時間的格式有三種 timestamp 時間戳,格林時間1970年1月1日開始秒的偏移量。struct time 時間元組,共9個元素 format time 格式化時間,具有可讀性,包括自定義格式和固定格式 1 時間格式轉換規則 2 主要time方法和time格式轉換 1 生成times...

Python中time和datetime的常用方法

import time print time.strftime y m d h m s 獲取當前的日期 日 time.strftime d time模組中經常用到的有以下幾個方法 1 time 用來獲取時間戳time.time 2 localtime 獲取當前時間資訊。包含年月日時分秒,返回結果以元...

python中datetime模組詳解

datetime 模組提供了各種類用於操作日期和時間,該模組側重於高效率的格式化輸出 datetime 模組定義了兩個常量 datetime.minyear date 和 datetime 物件所能支援的最小年份,object.minyear 的值為 1 datetime.maxyear date ...