比较用户上次看到的时间到现在()

时间:2017-11-02 02:39:26

标签: python flask jinja2 momentjs

您好我正在尝试将用户的上次看到的时间与现在使用烧瓶时刻进行比较。这是逻辑:

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 %}

两次都是变数。 我能够得到两次,但我不知道如何像上面那样比较它们。 非常感谢您的帮助。

2 个答案:

答案 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_nowuser.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分钟