Вычисление разницы во времени

в запуске и конце моей программы, я имею

from time import strftime
print int(strftime("%Y-%m-%d %H:%M:%S")



Y1=int(strftime("%Y"))
m1=int(strftime("%m"))
d1=int(strftime("%d"))
H1=int(strftime("%H"))
M1=int(strftime("%M"))
S1=int(strftime("%S"))


Y2=int(strftime("%Y"))
m2=int(strftime("%m"))
d2=int(strftime("%d"))
H2=int(strftime("%H"))
M2=int(strftime("%M"))
S2=int(strftime("%S"))

print "Difference is:"+str(Y2-Y1)+":"+str(m2-m1)+":"+str(d2-d1)\
          +" "+str(H2-H1)+":"+str(M2-M1)+":"+str(S2-S1)

Но когда я пытался получить различие, я получаю синтаксические ошибки.... Я делаю несколько вещей неправильно, но я не уверен, что продолжается...

В основном я просто хочу сохранить время в переменной в начале моей программы, затем сохранить в 2-й раз во второй переменной около конца, затем на уровне последнего бита программы, вычислить различие и отобразить его. Я не пробую ко времени функциональную скорость. Я пытаюсь зарегистрироваться, сколько времени это взяло, чтобы пользователь прогрессировал через некоторые меню. Что лучший способ состоит в том, чтобы сделать это?

44
задан Brian 6 August 2010 в 19:01
поделиться

3 ответа

Модуль datetime сделает всю работу за вас:

>>> import datetime
>>> a = datetime.datetime.now()
>>> # ...wait a while...
>>> b = datetime.datetime.now()
>>> print(b-a)
0:03:43.984000

Если вы не хотите отображать микросекунды, просто используйте (как предлагает gnibbler):

>>> a = datetime.datetime.now().replace(microsecond=0)
>>> b = datetime.datetime.now().replace(microsecond=0)
>>> print(b-a)
0:03:43
83
ответ дан 26 November 2019 в 21:50
поделиться
from time import time

start_time = time()
...

end_time = time()
seconds_elapsed = end_time - start_time

hours, rest = divmod(seconds_elapsed, 3600)
minutes, seconds = divmod(rest, 60)
18
ответ дан 26 November 2019 в 21:50
поделиться

Вы не можете рассчитать разницу отдельно ... какая разница будет для 7:59 и 8:00 часов? Попробуйте

import time
time.time()

, который дает вам секунды с начала эпохи.

Затем вы можете получить промежуточное время, используя что-то вроде

timestamp1 = time.time()
# Your code here
timestamp2 = time.time()
print "This took %.2f seconds" % (timestamp2 - timestamp1)
7
ответ дан 26 November 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: