2013-03-19 52 views
1

某個日期我有一個函數,getHoursSince()的小時數:如何獲得,因爲在python

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()以小時:

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

這給:

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

但你可以一樣好基礎,關閉一個簡單的算術:

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

哇哈哈,很容易 – fox 2013-03-19 22:42:00