python - 為什麼用time.strftime格式化會用預設值?
PHP中文网
PHP中文网 2017-05-18 10:50:41
0
2
640

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小時的預設值怎麼來的

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
迷茫

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

import time
import datetime

a = 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.004802
00:00:03
阿神

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板