Cla*_*tti 2 python datetime python-3.x
我有一个数据框,在其中比较两个不同日期之间的差异以获得小时和分钟的差异,例如:
start_date = '2018-07-03 16:03:00'
data_final = '2018-07-05 00:00:00'
duration = data_final - start_date
Run Code Online (Sandbox Code Playgroud)
我正在寻找的结果是'31: 57: 00 ',或者两个日期之间的总时间差。但我得到的结果是:“1 天,7:57:00”(每 24 小时写为 1 天)。
我尝试使用以下语句将其转换为 XMinutesHours 格式:
print (datetime.datetime.strptime (duration, "%H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)
但我得到了错误:
ValueError: 时间数据'1天,7:57:00'与格式'%H:%M:%S'不匹配
任何想法?
您需要计算以小时、分钟和秒为单位的等效值,您可以实现一个函数来获取该值,例如:
from datetime import datetime
def get_duration(duration):
hours = int(duration / 3600)
minutes = int(duration % 3600 / 60)
seconds = int((duration % 3600) % 60)
return '{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)
format_str = '%Y-%m-%d %H:%M:%S'
start_date_str = '2018-07-03 16:03:00'
end_date_str = '2018-07-05 00:00:00'
start_date = datetime.strptime(start_date_str, format_str)
end_date = datetime.strptime(end_date_str, format_str)
duration = (end_date - start_date).total_seconds()
print(get_duration(duration))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12172 次 |
| 最近记录: |