计算与datetime.now().time()的差值



我正在尝试编写一些代码,以便计算设置为两个datetime.now((.time((结果的两个变量之间的时间差。我最终想做到这一点,这样,如果差距超过一定的分钟数,我就可以采取一些行动——但不幸的是,在我得到差距之前,我无法达到这一点。

目前,我有以下错误,但我得到了一个错误(TypeError:-:'datetime.time'和'datetime.time'的不受支持的操作数类型(。我已尝试强制转换为int,但仍然得到错误。

def check_recent_activity():
current_time = datetime.now().time()
time.sleep(5) # temporary, to ensure times are different enough. In actual functionality, one datetime will be a value in a dict
current_time_2 = datetime.now().time()
difference = current_time - current_time_2
print("The difference between time 1 and 2 is: " + difference)

不能减去datetime.time的两个实例,但可以减去datetime.datetime的两个例子。这意味着使用datetime.now()而不是datetime.now().time()

def check_recent_activity():
current_time = datetime.now()
time.sleep(5) # temporary, to ensure times are different enough. In actual functionality, one datetime will be a value in a dict
current_time_2 = datetime.now()
difference = current_time_2 - current_time
print("The difference between time 1 and 2 is:", difference)

您根本无法减去time对象,它们必须是datetime对象。您可以使用datetime.datetime.now()函数获取datetimepbject,也可以使用combine()函数将这些时间组合为一个日期。然后,当减去两个datetime对象时,您将得到一个timedelta对象。

您可以使用time对象来执行您想要的操作:

import time
def check_recent_activity():
current_time = time.time()
time.sleep(5) # temporary, to ensure times are different enough. In actual functionality, one datetime will be a value in a dict
current_time_2 = time.time()
difference = current_time_2 - current_time
print("The difference between time 1 and 2 is: " + str(difference))

check_recent_activity()

最新更新