2011-08-15 14 views
9

これは多くの人にとっては貴重なものだと確信していますが、私は本当にdatetime.timedeltaのこと全体と混同しています。基本的には、startTimeを開始してから、プロセスの末尾にタイムスタンプを付けてendTimeとし、HH:MM:SSの違いを取得しようとしています。これは、に出力Pythonでの時間の計算(datetime.timedelta?)

startTime = datetime.now() 
<... my looping process ...> 
endTime = datetime.now() 
calcdTime = endTime - startTime 
print str(calcdTime)[:-4] 

:H:MM:SS.MM(したがって、最後のストリッピング

TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time' 

編集は、最終的な結果を含める:

私はendTime - startTimeを印刷行うときに、このエラーが出ます4文字は、timedelta

+1

'datetime.datetime'と' datetime.date'は減算をサポートしますが、 'datetime.time'は減算をサポートしません。代わりに 'datetime.datetime'を使用してみてください –

答えて

10

timeの代わりにdatetimeを使用してください。別のものから1つの時間を引いても意味をなさない日付;あなたは彼らが同じ日にいると仮定することはできませんし、左のオペランドが最初に来る。

+0

男、私は気が気になりません。 :)魅力のように働いて、ありがとう。 – chow

5

あなたが情報にやっていることに応じて、あなただけのtime.timeを使用することがあります:あなたは秒単位で経過時間を与えるだろう

import time 

starttime = time.time() 

# do stuff 

endtime = time.time() 

elapsed = endtime - starttime 
print elapsed 

を。これは多くの場合、timedeltaを持つよりも便利です。