2013-03-19 2 views
1

에서 특정 날짜 이후에 시간의 수를 얻는 방법 : 그래서내가하는 기능, <code>getHoursSince()</code>이 파이썬

def getHoursSince (date): 

    prior = datetime.datetime.now() - datetime.timedelta(days=date) 

    priorHour = prior.hour 

    hoursSinceDate = ... 

    return hoursSinceDate 

을, 나는 내가 할 수있는, 즉 yesterday = 1 경우, 상수 값 주어진 날짜 개체를 얻을 수 있습니다 getHoursSince(yesterday)으로 전화하십시오. 어떻게 해야할지 모르겠지만 datetime.datetime.now()priorHour 사이의 시간 수를 얻는 것입니다 - 아이디어가 있습니까?

답변

3

잘못된 방향으로 가고 있습니다. 당신은 단지 timedelta()시간로 변환 :

>>> getHoursSince(1) 
24 
>>> getHoursSince(1.5) 
36 
>>> getHoursSince(2) 
48 
>>> getHoursSince(3) 
72 

하지만 당신은 단지뿐만 아니라 간단한 산술 떨어져 그 기초를 할 수 있습니다 :

def getHoursSince(date): 
    return int(datetime.timedelta(days=date).total_seconds() // 3600) 

주는

def getHoursSince(date): 
    return int(24 * date) 
+0

하하 와우가 쉽게 – fox