2017-11-02 9 views
0

안녕하세요 저는 사용자의 마지막으로 본 시간을 지금 flask-moment를 사용하여 비교하려고합니다. 여기에 논리는 다음과 같습니다사용자가 마지막으로 본 시간을 지금과 비교하기()

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

경우 비교할 수 있지만 모듈을 혼동 될 수 있습니다 생각 . 파이썬에서'time_now'와'user.last_seen'가 모두'datetime' 객체라면, 위 코드가 작동하고'timedelta' 객체를 얻을 것입니다. – Cfreak

+0

@Cfreak 파이썬으로 어떻게 할 수 있는지 보여 주실 수 있습니까? – aharding378

답변

1

는 @Cfreak 제안처럼,이 두 datetime 사이의 timedelta에게 다음 CAL 기능 total_seconds을 계산할 수 있도록 timedeltaminutes로 변환하면 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 분 또는하지 당신은 (모두이 기능을 지원) 순간이나 파이썬 중 하나 계산을 할 수

+0

감사합니다. @ Tiny.D 내가 필요한 것! – aharding378

1

마지막으로 본 값을 기반으로 다른 datetime 개체를 계산하고 다음을 수행 할 수 있습니다. 이것은 단지 예일뿐입니다. 에 timedelta 개체입니다 결과를 변환하는 데 너무

from datetime import datetime, timedelta 
    time_now=datetime.now() 
    last_seen_time=datetime.now()-timedelta(hours=3) 
    print(time_now-last_seen_time) 

은 당신이 사용할 수있는 (분 = 1) 또는 timedelta를 (마이크로 초 = 1)은 분, 초 시간에서 변환을 할 수 있으며 timedelta을 수행 할 수 있습니다 분 time_nowuser.last_seen 파이썬에서 모두 datetime 객체가있는 경우 등 초 How to convert datetime.timedelta to minutes, hours in Python?