我在日历中使用以下代码来告诉我需要多长时间才能参加活动。有两个部分,一个显示工作开始前的时间,另一个显示我需要多久醒来工作。
work_alarm = timedelta(hours=2, minutes=30)
a_n = int((we_dt - tct).total_seconds() / 60) # to get minutes remaining from the current time to when work starts
alarm_time = we_dt - work_alarm
up_time = int((alarm_time - tct).total_seconds() / 60) # total minutes until I need to be up
print "Scheduled Work Time: " + str(we_dt.strftime('%H:%M'))
print "You have " + str(we[1]) + " in " + str(int((((we_dt - tct).total_seconds() / 60) / 60))) + " hours and " + str(divmod(a_n, 60)[1]) + " minutes."
print "You need to be up in " + str(int((((alarm_time - tct).total_seconds() / 60) / 60))) + " hours and " + str(divmod(up_time, 60)[1]) + " minutes."
这一切都很好,直到“你需要起床”的时间过去了。事件时间过去后,它会停止报告它,所以这不是一个真正的问题,但我想设置一个 if 语句,可以检查或判断你需要的时间是否已经过去并停止显示它。因为就目前而言,在这段时间过去之后,它的数量只会开始向相反的方向上升。例如:如果距离我需要起床还有 1 分钟,那么在它达到零后,它就会开始上升:之后的 1、2、3 分钟等。该数字不显示为负整数,因此我不确定如何对此进行比较,以便在时间过去后停止显示。需要注意的是,这个脚本每分钟都会使用一个 apscheduler 模块运行。任何帮助,将不胜感激。