相互减去两个日期时间,并在 python 2.7 中以 HH:MM:SS 返回



我有两个日期时间字符串,我希望互相减去,并希望返回答案 使用 Python 2.7 的HH:MM:SS格式。例如,我有"2019-01-22 10:46:34""2019-01-22 10:30:34",并希望它返回类似这样的内容00:16:00.我尝试将时间转换为整数,但似乎无法转换回来。我也尝试了日期时间模块。下面是一个我尝试过的东西的基本示例,我希望将其转换为函数。

from datetime import datetime
a = "2019-01-22 10:46:34"
b = "2019-01-22 10:30:25"
c = a-b
print(datetime.time(c, '%Y-%m-%d %H:%M:%S')

我已经在这个问题上工作了几天,所以任何帮助将不胜感激。

看看 timedelta 对象。

有了它,您可以在秒内获得两个datetime对象的差异,然后您可以计算分钟小时等。

例如,您有两个datetime对象abc将是timedelta对象:

import datetime 
# datetime object (year, month, day, hour, minute, second) 
a = datetime.datetime.strptime("2019-01-22 10:46:34", "%Y-%m-%d %H:%M:%S")
b = datetime.datetime.strptime("2019-01-22 10:30:25", "%Y-%m-%d %H:%M:%S")
# returns timedelta object 
c = a-b  
print('Difference: ', c) 
# return (minutes, seconds) 
minutes = divmod(c.seconds, 60)  
print('Difference in minutes: ', minutes[0], 'minutes', 
minutes[1], 'seconds')

编辑:divmod()用于以分钟和秒为单位获得击球结果,但您也可以只写

minutes = c.seconds / 60
print('Difference in minutes: ', minutes)

输出:Difference in minutes: 16 minutes 9 seconds

最新更新