Python,以格式​​减去两个不同的时间(HH:MM:SS - HH:MM:SS)

时间:2016-08-11 11:39:24

标签: python date datetime time

我需要减去两个不同的时间,以获得差异。例如,我说我有message.start和message.end,这两个都是日期和时间(但它们的类型是'时间'。我在python中使用type(message.start)进行了检查)采用以下格式:'月/日/年HH:MM:SS'例如(08/11/16 13:32:00)

在下面的代码中,我将它们转换为字符串,因为我需要分割日期和时间,并进一步分割代码的其他部分的日期,我不需要在这里显示。我在message.end上尝试了一些东西 - message.start但是它也没有用。

我只需要时差,所以说我有08/11/16 18:30:00 - 08/11/16 12:00:00,这应该会导致6.5或6小时30分钟

我该怎么办?

这是我的代码:

startDateTime = str(message.start).split()
    startTime = startDateTime[1]
    startDate = startDateTime[0].rsplit("/")

    endDateTime = str(message.end).split()
    endTime = endDateTime[1]
    endDate = endDateTime[0].rsplit("/")

1 个答案:

答案 0 :(得分:2)

您需要strptime中的datetime方法。

import datetime

format = '%m/%d/%y %H:%M:%S'
startDateTime = datetime.datetime.strptime(message.start, format)
endDateTime = datetime.datetime.strptime(message.end, format)

diff = endDateTime - startDateTime

输出:

>>> start='08/11/16 12:00:00'
>>> format = '%m/%d/%y %H:%M:%S'
>>> startDateTime = datetime.datetime.strptime(start, format)
>>> end='08/11/16 18:30:00'
>>> endDateTime = datetime.datetime.strptime(end, format)
>>> diff = endDateTime - startDateTime
>>> print diff
6:30:00