如何在Python中获得两个时间对象之间的差异

如何在Python中获得两个时间对象之间的差异,第1张

如何在Python中获得两个时间对象之间的差异

datetime.time
出于不支持对象比较的原因,该类不支持对象减法,即因为其对象可能未定义其
tzinfo
属性

时间之间的比较,其中当a在时间b之前时,a被认为小于b。如果一个比较项是幼稚的而另一个比较项是知道的,则会引发TypeError。如果两个比较器都知道并且具有相同的tzinfo属性,则将忽略公共tzinfo属性并比较基准时间。如果两个比较器都知道并且具有不同的tzinfo属性,则首先通过减去其UTC偏移量(从self.utcoffset()获得)来调整比较器。为了阻止混合类型比较回退到按对象地址进行的默认比较,将时间对象与其他类型的对象进行比较时,除非比较==或!=,否则将引发TypeError。后面的情况分别返回False或True。

您应使用

datetime.datetime
其中包括日期和时间的内容。

如果两次是同一天,则可以使用告诉python日期是今天,

date.today()
并将日期和时间结合起来
datetime.combine

现在您有了日期时间,您可以执行减法,这将返回一个datetime.timedelta实例,该实例

total_seconds()
将返回秒数(其中
float
包括微秒信息的秒数)。因此,将其乘以10
6即可得到微秒。

from datetime import datetime, date, timex = time(9, 30, 30, 0)y = time(9, 30, 31, 100000)diff = datetime.combine(date.today(), y) - datetime.combine(date.today(), x)print diff.total_seconds() * (10 ** 6)        # 1100000.0

您也可以只使用timedeltas:

from datetime import timedeltax = timedelta(hours=9, minutes=30, seconds=30)y = timedelta(hours=9, minutes=30, seconds=31, microseconds=100000)print (y - x).total_seconds() * (10 ** 6)     # 1100000.0


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5668103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存