2015-01-05 16 views

答えて

15

あなたのように0.232999801636ような時代を含める場合入力:

import time 
start = time.time() 
end = time.time() 
hours, rem = divmod(end-start, 3600) 
minutes, seconds = divmod(rem, 60) 
print("{:0>2}:{:0>2}:{:05.2f}".format(int(hours),int(minutes),seconds)) 


In [12]: def timer(start,end): 
    ....:   hours, rem = divmod(end-start, 3600) 
    ....:   minutes, seconds = divmod(rem, 60) 
    ....:   print("{:0>2}:{:0>2}:{:05.2f}".format(int(hours),int(minutes),seconds)) 
    ....:  

In [13]: timer(12345.242,12356.434) 
00:00:11.19 
In [14]: timer(12300.242,12600.5452) 
00:05:00.30 
In [19]: timer(0.343,86500.8743) 
24:01:40.53 
In [16]: timer(0.343,865000.8743) 
240:16:40.53  
In [17]: timer(0,0.232999801636) 
00:00:00.23 
1
import time 
start = time.time() 
#do something 
end = time.time() 
temp = end-start 
print(temp) 
hours = temp//3600 
temp = temp - 3600*hours 
minutes = temp//60 
seconds = temp - 60*minutes 
print('%d:%d:%d' %(hours,minutes,seconds)) 
+0

私はので、私はほんの数秒の作品何かの出力は、二重に失われますことを見ることができませんでした 'TEMP = 65432'を設定することによってそれをテストゼロ。 @PadraicCunningham – implicati0n

57

あなたはtimedeltaを悪用する可能性があります:

>>> from datetime import timedelta 
>>> str(timedelta(seconds=elapsed)) 
'0:00:00.233000' 
+2

@PadraicCunningham:それは動作します: 'str(timedelta(秒= 86401))' - > '1日、0:00:01'' – jfs

+2

これは正解ではないのですか?他の誰もがtimedeltaのインプリケーションを説明しています... – 43matthew

関連する問題