PHP;距离和速度的时间转换

PHP;距离和速度的时间转换,php,datetime-conversion,Php,Datetime Conversion,我在转换速度和距离得到的时间方面有问题,这是我的代码 $dist = 30; // Distance which is in kilometres(km) // speed is in knots(kt), if I take speed of 40kt and convert it into kilometres(km/h) ... 40 * 1.852 = 74.08 $time = ($dist / 74.08) / 24; // result is 0.016873650107991

我在转换速度和距离得到的时间方面有问题,这是我的代码

$dist = 30; // Distance which is in kilometres(km)
// speed is in knots(kt), if I take speed of 40kt and convert it into kilometres(km/h) ... 40 * 1.852 = 74.08
$time = ($dist / 74.08) / 24;

// result is 0.016873650107991 which is correct, but my problem is how can this be format in H:m:s,
// tried with date('h:m:s', strtotime($time) but result is always 01:01:00 no mater the distance
echo $time;
有没有办法把时间格式化成H:m:s或者改进这段代码? 我已经搜索了堆栈,但没有发现类似的问题,如果我错过了,很抱歉重复,但是非常欢迎链接。

这可能会有所帮助

$dist = 10; // Distance which is in kilometres(km)
// speed is in knots(kt), if I take speed of 40kt and convert it into kilometres(km/h) ... 40 * 1.852 = 74.08
$time = ($dist / 74.08);

echo gmdate("H:i:s", $time * 3600);

这也适用于小时数>24的情况

$dist = 10; // Distance which is in kilometres(km)

$ts = ($dist / 74.08) * 3600; // in seconds

$h = floor($ts/3600);
$m = floor(($ts / 60) % 60);
$s = $ts % 60;

echo "$h:$m:$s";

时间格式将
0.016873650107991
消耗为秒。你需要使用
h:i:s
。你也试过了,还是一样。。01:00:00你的确切问题是什么?谢谢,正是我需要的!请注意,
gmdate()
对于长途或高速来说是不可靠的,因为作为一个日期函数,它假定您的小时和分钟不是持续时间,而是一天中的时间,因此计算结果的24个模块。