我有一个函数,getHoursSince()
:
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
变量之间的小时数——有什么想法吗?
你的做法是错误的;您只需将 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)
我是一名优秀的程序员,十分优秀!