datatime.now()를 사용하여 함수의 실행 시간을 측정하고 그 차이를 빼서 부동 소수점 수 (초)를 얻으려고합니다.Python3 datetime 음수
tStart = datetime.now()
*function*
tEnd = datetime.now()
# microseconds for more precision then convert to seconds
time = tEnd.microsecond - tStart.microsecond
print(listLength, "\t", '{0:.6f}'.format(time/1000000))
예 오류 : I 표준 변환을 정상 초에 다시 변환 할 수 있다는 가정을위한 내가 잘못
3250 0.043427
3500 -0.940100
3750 0.075566
건가요? 이 작업을 수행하는 더 좋은 방법이 있습니까? 나는 초를 사용하여 시도했지만 100 분의 2 초 정밀도에 도달하기 때문에 필요한 6 자리수를 얻지 못합니다.
을하면 경향 = 11 : 11 : 11.000000 및 값 TStart = 11 : 11 : 10.940100, 당신의 코드가 -0.940100 보여줍니다. 이것은 당신이 날짜, 시간, 분, 초를 투입했기 때문입니다. "time = tEnd.microsecond - tStart.microsecond"를 "time = tEnd - tStart"로 수정하려고하면 수정 된 코드가 정답을 표시합니다. –
@ Fumu7 그게 내가 이전에했던 것입니다.하지만 시간을 인쇄 할 때 나는 항상 0.000000을 얻었습니다. 왜냐하면 저는 time.second를 인쇄했기 때문에 microseconds를 사용하고 초로 변환 할 때 작동하는 것 같습니다. 내가 잘못 된 곳을 찾도록 도와 주셔서 감사합니다. – Programmer
수정 된 코드 : "time = tEnd - tStart", "tMicrosec = time.sconds * 1000000 + time.microseconds", "print ('{0 : .6f}'형식 (float (tMicrosec)/1000000)." –