2016-08-11 5 views
0

Мне нужно вычесть два разных раза, чтобы получить разницу. Например, у меня есть message.start и message.end, оба из которых являются датой и временем (но они имеют тип «время». Я проверил это, используя type(message.start) в python) и в следующем формате: «месяц/день/год HH: MM: SS 'например (08/11/16 13:32:00)Python, вычесть два разных раза в формате (ЧЧ: ММ: СС - ЧЧ: ММ: СС)

В приведенном ниже коде я конвертирую их в строки, поскольку мне нужно разделить дату и время, а затем разделить дата других частей кода, которые мне не нужно показывать здесь. Я пробовал что-то по message.end - message.start, но это тоже не сработало.

мне просто нужно разницу во времени, так что у меня есть 08/11/16 18:30:00 - 08/11/16 12:00:00, то это должно привести к 6,5 или 6hrs30mins

Что может Я делаю?

Это мой код:

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

Подсказка: преобразование строки в объект Datetime – dnit13

ответ

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 
Смежные вопросы