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

时间:2020-02-14 07:48:00

标签: python-2.7 date datetime

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

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')

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

1 个答案:

答案 0 :(得分:0)

看看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