如果我有一个以km为单位的浮点变量和一个timedelta时间变量,我怎样才能计算出KM / H的速度?我不知道如何将timedelta改为小时作为浮动。一个例子是:
distance = 0.966757
time = timedelta('0 days 00:01:04')
输出约54Kmh
答案 0 :(得分:1)
使用distance / ( time.total_seconds() / 3600.0 )
(假设距离已经是km)。
答案 1 :(得分:0)
转换为' 1:04'到秒
distance = 0.966757
time = datetime.timedelta(0,64)
distance/time.total_seconds()
>>0.015105578125
所以你有距离/秒的速度
每小时,你多了3600
3600*distance/time.total_seconds()
>>54.380081249999996
感谢' total_seconds'小伙子们。虽然,在这种情况下我得到了
time.total_seconds() == time.seconds
>>True
答案 2 :(得分:0)
首先,您必须使用正确的arguments 初始化timedelta
:
time = timedelta(days=0,hours=0,minutes=1,seconds=4)
timedelta
有一个方法total_seconds()
,因此你可以获取:
total_seconds = time.total_seconds()
除以3600,即可获得小时数:
hours = total_seconds/3600.0
(在python-3.x中,除以3600
(int
)就足够了。
然后通过将距离(km)除以时间(小时)来计算速度:
speed = distance/hours # unit: kmph