python - 如何在python中获取自某个日期以来的小时数

标签 python datetime timedelta

我有一个函数,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)

关于python - 如何在python中获取自某个日期以来的小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15511832/

相关文章:

python - 如何在 Python 中查找相对 URL 并将其转换为绝对 URL

python - 在 Pyspark 中评估分类器时,“SparkSession”对象没有属性 'serializer'

python - Bokeh 自动填充日期时间轴缺失值 : how to stop it?

java - 在 Java 中,如何获得两个日期之间的秒数差异?

Python:模拟日期时间问题

python - 将包含毫秒的日期时间字符串解析为日期时间

python - 如何在 python 中构建网络流?

python - 使用列表替换字符串中的子字符串

datetime - 返回一天时间对象的本地开始时间

java - 获取按钮点击时间