2015-01-05 44 views

Antwort

15

Wenn Sie wie 0.232999801636 wie in einschließen Zeiten wollen Eingabe:

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

Getestet habe ich es durch 'Temp Einstellung = 65432' so konnte ich nicht sehen, dass der Ausgang für etwas, das die Doppel wird nur wenige Sekunden arbeitet fehlt Nullen. @PadraicCunningham – implicati0n

57

Sie timedelta ausnutzen könnten:

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

@PadraicCunningham: es funktioniert: 'str (timedelta (Sekunden = 86401))' -> ''1 Tag, 0: 00: 01'' – jfs

+2

Warum ist das nicht die richtige Antwort? Alle anderen beschreiben den Impl von Timedelta ... – 43matthew

Verwandte Themen