计算时差

时间:2010-08-06 19:01:58

标签: python time

在我的课程开始和结束时,我有

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)

但是当我试图找到差异时,我会遇到语法错误......我做了一些错误,但我不确定发生了什么......

基本上,我只想在程序开始时将变量存储在变量中,然后在第二个变量中存储第二个变量,然后在程序的最后一位,计算差值并显示它。我不是想尝试一下功能速度。我试图记录用户进入某些菜单所需的时间。这样做的最佳方式是什么?

5 个答案:

答案 0 :(得分:78)

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

答案 1 :(得分:17)

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)

答案 2 :(得分:6)

你不能分别计算差异...... 7:59和8:00会有什么不同?尝试

import time
time.time()

给出了自纪元开始以来的秒数。

然后你可以用

之类的东西来获得中间时间
timestamp1 = time.time()
# Your code here
timestamp2 = time.time()
print "This took %.2f seconds" % (timestamp2 - timestamp1)

答案 3 :(得分:2)

time.monotonic()(基本上是您的计算机在几秒钟内的正常运行时间)保证在您的计算机时钟调整时(例如转换到夏令时或从夏令时转换时)不会出现行为异常。

noisy

答案 4 :(得分:0)

这是一段代码:

def(StringChallenge(str1)):

Windows.UI.Color.FromArgb(255, 0, 0, 255)