Python - 计算两个datetime.time对象之间的差异

Mat*_*att 16 datetime python-3.x

我有两个datetime.time对象,我想计算它们之间的小时差异.例如

a = datetime.time(22,00,00)
b = datetime.time(18,00,00)
Run Code Online (Sandbox Code Playgroud)

我希望能够减去这些,以便它给我4的值.

Mat*_*att 26

要计算差异,您必须将datetime.time对象转换为datetime.datetime对象.然后当你减去时,你会得到一个timedelta物体.为了找出timedelta对象的小时数,您必须找到总秒数并将其除以3600.

# Create datetime objects for each time (a and b)
dateTimeA = datetime.datetime.combine(datetime.date.today(), a)
dateTimeB = datetime.datetime.combine(datetime.date.today(), b)
# Get the difference between datetimes (as timedelta)
dateTimeDifference = dateTimeA - dateTimeB
# Divide difference in seconds by number of seconds in hour (3600)  
dateTimeDifferenceInHours = dateTimeDifference.total_seconds() / 3600
Run Code Online (Sandbox Code Playgroud)


iAn*_*nas 11

这就是我所做的

a = '2200'
b = '1800'
time1 = datetime.strptime(a,"%H%M") # convert string to time
time2 = datetime.strptime(b,"%H%M") 
diff = time1 -time2
diff.total_seconds()/3600    # seconds to hour 
Run Code Online (Sandbox Code Playgroud)

输出:4.0