我有一个名为startTime
的字符串,我想添加一个duration
(以分钟为单位)以获得一个finishTime
。
以下是一些示例数据:
startTime : 10:15
duration: 90
在python中,添加该持续时间以使finishTime
为11:45
的最佳方法是什么?
非常感谢,感谢您提供任何帮助。
答案 0 :(得分:4)
尝试一下:
import datetime
d = datetime.datetime.strptime("10:12","%H:%m") + datetime.timedelta(minutes=90)
new = d.strftime('%H:%m')
new
将是11:45
。
答案 1 :(得分:3)
我建议将pandas
用于此类任务,因为它比直接使用datetime
模块更直观。
import pandas as pd
startTime = '10:15'
duration = '90'
finishTime = (pd.to_datetime(startTime , format='%H:%M')
+ pd.to_timedelta(duration + 'min')).strftime(format='%H:%M')
如Torxed和shmee所指出的那样,pandas不是内置模块,它很大,只有70MB左右,因此可能并不适合所有人。
但是由于熊猫是imho处理时间序列数据的最佳工具,并且由于该问题看起来像处理时间序列时通常需要的东西,因此我认为使用熊猫解决方案可能很有趣/有用。
答案 2 :(得分:1)
您可以使用pd.to_datetime
来将字符串转换为日期时间对象,并使用pd.to_timedelta
添加分钟。最后,使用strftime
将日期时间转换为所需的格式:
import pandas as pd
(pd.to_datetime( '10:15', format='%H:%M') + pd.to_timedelta(90, unit='m')).strftime('%H:%M')
#'11:45'