减去两个 DateTime 对象 - Python [重复]
Posted
技术标签:
【中文标题】减去两个 DateTime 对象 - Python [重复]【英文标题】:Subtract Two DateTime objects - Python [duplicate] 【发布时间】:2015-11-19 14:32:27 【问题描述】:我有两个这样的日期时间对象
a = first date time object
b = second date time object
然后
c = a - b
现在我想比较 c 并检查差异是否大于 3 小时,所以我有一个名为 three_hours
的时间对象
three_hours = datetime.time(3,0)
if c >= three_hours:
#do stuff
但我收到一条错误消息,提示无法将 datetime.teimdelta 与 datetime.time 进行比较
我的问题不同,因为我还想比较减去的时间,而不仅仅是得到差异!
如何将它们转换为正确的格式,以便检查是否已过 3 小时?
感谢您的帮助
【问题讨论】:
***.com/questions/3426870/calculating-time-difference datetime.timedelta 对象 d 的值可以用 d.days*24 + (d.seconds + d.microseconds*10**6)/3600 转换为小时 【参考方案1】:您也可以只与另一个 timedelta 对象进行比较
import datetime
if c >= datetime.timedelta(hours=3):
#do something
【讨论】:
【参考方案2】:你可以这样做
three_hours = 3600*3 # in seconds
if c.total_seconds() >= three_hours:
# do stuff
【讨论】:
【参考方案3】:当你在 python 中减去两个 datetime 对象时,你会得到一个 datetime.timedelta
对象。然后,您可以获得该 timedelta 对象的 total_seconds()
并检查它是否大于 3*3600
,这是 3 小时的秒数。示例 -
>>> a = datetime.datetime.now()
>>> b = datetime.datetime(2015,8,25,0,0,0,0)
>>> c = a - b
>>> c.total_seconds()
87062.729491
>>> c.total_seconds() > 3*3600
True
【讨论】:
以上是关于减去两个 DateTime 对象 - Python [重复]的主要内容,如果未能解决你的问题,请参考以下文章