栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661991.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号