解決python 兩個時間戳相減出現結果錯誤的問題

如下所示:

兩個時間相差一整天,結果卻是相差時間為零 !!!!

這裡是使用錯誤, .seconds隻會計算 小時分鐘秒 部分之間的差值

在這裡使用total_seconds() 才是計算兩個時間戳之間的相差時間

補充:Python 時間字符串、時間戳之間的轉換,時間的加減

1、字符串轉時間戳

import time 
str_time = "20200713203740"
time_temp = time.strptime(str_time, "%Y%m%d%H%M%S") # 字符串格式化成時間格式
time_stamp = time.mktime(time_temp)         # 格式化後的時間轉換成時間戳
 
print(time_temp)
print(time_stamp)

結果如下:

time.struct_time(tm_year=2020, tm_mon=7, tm_mday=13, tm_hour=20, tm_min=37, tm_sec=40, tm_wday=0, tm_yday=195, tm_isdst=-1) 1594643860.0

2、時間戳轉時間字符串

from datetime import datetime 
x = 1594643860 
y_m_d = datetime.fromtimestamp(x).strftime('%Y%m%d')
h_s_m = datetime.fromtimestamp(x).strftime('%H:%S:%M')
print(y_m_d)
print(h_s_m)

20200713

20:40:37

3、時間加天數

import datetime 
# 將時間字符串轉換成格式化的時間格式
time = "20190617 00:00:00"
time = datetime.datetime.strptime(time, "%Y%m%d %H:%M:%S")
 
# 在原來的時間上加6天
time = time + datetime.timedelta(days=6)
print(time)
 
# 將格式化的時間格式,轉換成時間字符串
timestr = datetime.datetime.strftime(time, "%Y%m%d %H:%M:%S")
print(timestr)

2019-06-23 00:00:00

20190623 00:00:00

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: