文章详情页
python - 为什么用time.strftime格式化会用默认值?
问题描述
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小时的默认值怎么来的
问题解答
回答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 小时。
相关文章:
1. angular.js - 请教angularjs里html和js通信的问题2. angular.js - ui-router 有没有手动重新加载路由配置的方法?3. angular.js - angularJs使用iframe,网页内容自适应的问题4. angular.js - ionic命令行执行代码超级卡,要等很久才会有反应5. angular.js - 创建项目问题的6. mysql - 优惠券表应该怎么建,求帮助7. angular.js - angularjs移动端项目需要引入外部的PC网页,iframe宽高设定100%,显示的内容依然是PC那种效果,不是缩放成适配屏8. node.js - 怎么在初始化的时候使得一个子组件不加载?9. angular.js - angularjs 怎么封装 upload 上传10. angular.js - wepapp在网页上可以滑动但是适配在手机上不可以,为什么?求解
排行榜