2016-08-11 9 views
0

違いを得るには、2つの異なる時刻を差し引く必要があります。例えば、私はmessage.startとmessage.endを持っていますが、どちらも日付と時刻です(ただし、型は 'time'です。これはPythonでtype(message.start)を使ってチェックしました)、次の形式です: '月/日(08/11/16 13:32:00)Pythonでは、2つの異なる時刻を(HH:MM:SS-HH:MM:SS)の形式で減算します。

以下のコードでは、日付と時刻を分割してさらに分割する必要があるため、以下のコードでは文字列に変換しています私がここに示す必要のないコードの他の部分の日付。私は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

あなたはdatetimeからstrptime方法を必要としています。

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 
関連する問題