时间:2020-10-06 21:54:29 | 栏目:Python代码 | 点击:次
**问题描述:**有如下程序输出日志,计算程序运行时间,显示花费623分钟?
start time:2019-03-15 19:45:31.237894
end time:2019-03-17 06:09:01.415541
It cost 623 minutes
相关代码:
import datetime s = '2019-03-15 19:45:31' s_datetime = datetime.datetime.strptime(s, '%Y-%m-%d %H:%M:%S') e = '2019-03-17 06:09:01' e_datetime = datetime.datetime.strptime(e, '%Y-%m-%d %H:%M:%S') result = (e_datetime - s_datetime).seconds // 60 # output # Out[50]: 623
但是,当我实际计算时间花费时,可不止623分钟,问题错在哪里呢?
问题原因:
# seconds 这个属性只计算时间差中的小时、分钟和秒部分的和,不包括时间差中的天数 result = (e_datetime - s_datetime).seconds // 60 # total_seconds() 这个会获得时间差总的时间,并转换为秒 result = (e_datetime - s_datetime).total_seconds() // 60
总结