我需要减去两个不同的时间,以获得差异。例如,我说我有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("/")
答案 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