解決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。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- Python標準庫之日期、時間和日歷模塊
- Python中的datetime包與time包包和模塊詳情
- Python時間和日期庫的實現
- python語言time庫和datetime庫基本使用詳解
- Python中的time模塊和calendar模塊