得到几分钟的漂浮

时间:2014-07-29 03:05:11

标签: php time formula

我在php中有这段代码

    $minutes = date("i", $time);
    $seconds = date("s", $time);
    $hours = date("H", $time);

    $toMinutes = ($hours*60) +  $minutes +  ($seconds/60);

    $KmPerHour = $distance / ($toMinutes/60); 

    $MperMin = ($distance*1000) / $toMinutes; 

    $KmPerMin = 1/($distance/$toMinutes); 

    $MperSec =  100/(($distance*1000)/($toMinutes*60)); 

除了这一行以外的所有作品

    $KmPerMin = 1/($distance/$toMinutes); 

基本计算跑步1公里的时间(以公里为单位) 但是例如

<00> 00:39:00 10km&gt; 39分钟结果3.9 但它应该是3:54分钟

我如何将3.9转换为分钟?

3 个答案:

答案 0 :(得分:3)

3.9分钟 3m54s,因为十分之九分钟是五十四秒。

将整个部分3用于分钟。

将小数部分0.9乘以60得到秒。

以下PHP代码:

$min = 3.9;

$intmin = floor($min);
$sec = ($min - $intmin) * 60;

if ($sec < 10) {
    echo $intmin.':0'.$sec;
} else {
    echo $intmin.':'.$sec;
}

将输出:

3:54

您甚至可以使用小数秒,例如3.14159分钟给出3:08.4954

我也提供处理时间的代码,但如果它花了你那么长的时间来跑一公里,你可能想要找到另一种锻炼方式: - )


顺便说一句,KmPerMin对于你正在计算的内容是错误的,它应该更恰当地称为MinPerKm

答案 1 :(得分:3)

尝试这样的事情:

$min = 3.9;

$min = floor($min) . ':' . ($min - floor($min)) * 60; //3:54

See demo

答案 2 :(得分:0)

此代码可以帮助您

<?php
    $KmPerMin = 3.9;
    $KmPerMin = intval($KmPerMin) + (intval(( ($KmPerMin - intval($KmPerMin))*100 * 60)/100)+1)/100;
    echo $KmPerMin; // shows 3.54
?>

以3:54格式显示$ KmPerMin

echo explode(".",$KmPerMin)[0] . ":" . explode(".",$KmPerMin)[1]; // shows 3:54