计算特定操作后经过的时间

时间:2018-03-11 10:31:38

标签: python function loops time

我想计算两组相等的时间。我使用time.time()来计算时间。但每当我计算集合相等的时间时,它返回的时间为1520763846.19。我想计算两个集合相等的时间,并且必须执行一些下游操作。任何帮助将不胜感激?

dis_cars,forbid_cars是两套

def cars_on_road(dis_cars,forbid_cars):
    if len(forbid_cars) > 0 and dis_cars == forbid_cars:
        time_calculate = time.time()
        print "time_calculate" + str(time_calculate)

2 个答案:

答案 0 :(得分:1)

以下是使用datetime模块的一种方式。

import time
from datetime import datetime

def time_check(dis_cars, forbid_cars):
    if len(forbid_cars) > 0 and dis_cars == forbid_cars:
        time_calculate = datetime.now()
        return time_calculate
    else:
        return None

dis_cars = {'A', 'B', 'C'}
forbid_cars = {'C', 'B', 'A'}

check_time = time_check(dis_cars, forbid_cars)

time.sleep(3)

time_change_since_match = (datetime.now() - check_time).total_seconds()
# 3.000125

<强>解释

  • 您的函数应该return一个值,您可以将其存储在变量中供以后使用。打印值不会将值存储在内存中。
  • 稍后您可以再次访问此变量,并使用total_seconds()等方法以秒为单位返回时差。

答案 1 :(得分:1)

def __init__(self):
    self.last = time.time() #Initialization instant

def cars_on_road(self, dis_cars,forbid_cars):
    if len(forbid_cars) > 0 and dis_cars == forbid_cars:
        time_calculate = time.time() - self.last #Difference between self.last and the instant the sets became equal
        print "time_calculate" + str(time_calculate)
        self.last = time.time() #Do this if this method will be called again