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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)