您好我正在尝试将用户的上次看到的时间与现在使用烧瓶时刻进行比较。这是逻辑:
user.last_seen = 3 mins ago #I already know how to get this using flask-moment
time_now = 5:00 pm
我的目标是这样做:
{% if (time_now - user.last_seen) <= 5 mins %}
...do something...
{% else %}
...do other thing ....
{% endif %}
两次都是变数。 我能够得到两次,但我不知道如何像上面那样比较它们。 非常感谢您的帮助。
答案 0 :(得分:1)
您可以根据上次获得的值计算另一个日期时间对象,然后执行以下操作。这只是一个例子。您可以进行从小时到分钟,秒的转换,您也可以执行timedelta(分钟= 1)或timedelta(微秒= 1)
from datetime import datetime, timedelta
time_now=datetime.now()
last_seen_time=datetime.now()-timedelta(hours=3)
print(time_now-last_seen_time)
您可以使用它将timedelta对象的结果转换为分钟,秒等How to convert datetime.timedelta to minutes, hours in Python?
答案 1 :(得分:1)
与@Cfreak建议一样,如果time_now
和user.last_seen
都是Python中的datetime
个对象,则可以计算这两个timedelta
之间的datetime
,然后加上函数total_seconds
并将timedelta
转换为minutes
,这样您就可以比较5分钟。像这样:
import datetime
last_seen= datetime.datetime(2017, 11, 2, 11, 15, 17, 748000)
time_now = datetime.datetime.now()
time_delta_seconds = (time_now -last_seen).total_seconds() #get timedelta and calculate total seconds
time_delta_minutes = time_delta_seconds/60 # convert to minutes 4.808866666666666
然后你可以比较time_delta_minutes
是否小于5分钟