2013-03-19 51 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