您的位置:首页技术文章
文章详情页

python - 为什么用time.strftime格式化会用默认值?

【字号: 日期:2022-07-18 16:42:55浏览:45作者:猪猪

问题描述

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 编程
相关文章: