繁体   English   中英

用 datetime.now().time() 计算差异

[英]Calculate Difference with datetime.now().time()

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

目前,我有以下内容,但我收到错误(TypeError:不支持的操作数类型 -:'datetime.time' 和 'datetime.time')。 我尝试过转换为整数,但仍然出现错误。

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)

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

您不能减去两个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对象来做你想做的事:

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM