缺少datetime.time .__ sub__?

Rug*_*rra 3 python time datetime missing-features

为什么不能减去两个时间对象?例如,12:00 - 11:00 = 1:00


from datetime import time
time(12,00) - time(11,00) # -> timedelta(hours=1)

似乎datetime.time.__sub__缺少了

TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'

你知道为什么吗?

Ale*_*lli 6

time对象没有日期,因此,例如,12:00可能是(比方说)在星期三和11:00前述星期二上,使得差25小时,而不是一个(24任何倍数可能被相加或相减).如果你知道它们实际上是在同一个日期,只需对每个日期应用任意日期(制作两个datetime对象),然后你就可以减去它们.例如:

import datetime

def timediff(t1, t2):
  td = datetime.date.today()
  return datetime.datetime.combine(td, t1) - datetime.datetime.combine(td, t2)
Run Code Online (Sandbox Code Playgroud)