您的位置:首頁技術文章
文章詳情頁

python - 為什么用time.strftime格式化會用默認值?

瀏覽:122日期:2022-07-18 16:42:55

問題描述

a = time.time()

time.sleep(3)

b = time.time()

time_consuming = time.strftime('%H:%M:%S', time.localtime(b - a))print(time_consuming)

用以上代碼去跑time.strftime格式化時間后小時處總有個默認值,這個8小時的默認值怎么來的python - 為什么用time.strftime格式化會用默認值?

問題解答

回答1:

因為時區的問題,不應該用 time,應該用 datetime.timedelta 來計算參考下面代碼

import timeimport datetimea = time.time()time.sleep(3)b = time.time()print datetime.timedelta(seconds=(b -a )) # <-- 推薦time_consuming = time.strftime('%H:%M:%S', time.gmtime(b - a)) # <-- 不推薦print(time_consuming)

輸出如下:

0:00:03.00480200:00:03回答2:

8 小時是時區轉換導致的:北京是東八區,時間要往前加 8 小時。

標簽: Python 編程
相關文章:
国产综合久久一区二区三区