如何计算从距离的速度作为浮动和时间作为timedelta

时间:2017-02-07 14:41:35

标签: python timedelta

如果我有一个以km为单位的浮点变量和一个timedelta时间变量,我怎样才能计算出KM / H的速度?我不知道如何将timedelta改为小时作为浮动。一个例子是:

distance = 0.966757
time = timedelta('0 days 00:01:04')

输出约54Kmh

3 个答案:

答案 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

(在中,除以3600int)就足够了。

然后通过将距离(km)除以时间(小时)来计算速度:

speed = distance/hours # unit: kmph