gpt4 book ai didi

python - 将日期转换为小时

转载 作者:太空狗 更新时间:2023-10-30 00:57:41 27 4
gpt4 key购买 nike

我想找出两个日期之间的时差,然后以小时为单位比较时差。像这样,

开始时间 = 2011-03-10 15:45:48结束时间 = 2011-03-10 18:04:00

然后找出不同之处, timeDifference = abs(开始时间 - 结束时间)然后我需要比较结果,如果时差 > 6 小时 ...

当我使用这个方法时,我得到的结果是时间格式,我应该如何在python中将时间格式转换为小时?

谢谢,

最佳答案

假设您有两个日期和时间作为 datetime 对象(参见 datetime.datetime ):

>>> import datetime
>>> start_time = datetime.datetime(2011,3,10,15,45,48)
>>> end_time = datetime.datetime(2011,3,10,18,4,0)

从另一个中减去一个 datetime 得到一个 timedelta 对象,您可以使用 abs 来确保时差为正:

>>> start_time - end_time
datetime.timedelta(-1, 78108)
>>> abs(start_time - end_time)
datetime.timedelta(0, 8292)

现在,要将 timedelta 的秒差转换为小时,只需除以 3600:

>>> hours_difference = abs(start_time - end_time).total_seconds() / 3600.0
>>> hours_difference
2.3033333333333332

请注意,total_seconds() 方法是在 Python 2.7 中引入的,因此如果您希望在较早的版本上使用它,则需要从 .days 中自行计算> 和 .secondsthis answer

更新: Jochen Ritzel在下面的评论中指出,如果它只是与您感兴趣的小时数进行比较,而不是原始值,您可以通过以下方式更轻松地做到这一点:

abs(start_time - end_time) > timedelta(hours=6)

关于python - 将日期转换为小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5612129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com