用PHP计算总行程时间
如何用PHP计算总行程时间: 每英里时长:00:11:40 总英里数:177 总时长:34:25:00 我试过不同的方法,但都做不成用PHP计算总行程时间,php,time,duration,Php,Time,Duration,如何用PHP计算总行程时间: 每英里时长:00:11:40 总英里数:177 总时长:34:25:00 我试过不同的方法,但都做不成 $distance = "177"; $parsetime = strtotime("00:11:40"); $otfrom_string = time(); $needed = $parstime*$distance; $otto_string = $otfrom_string+$needed; echo date("H:i:s",$otfrom_stri
$distance = "177";
$parsetime = strtotime("00:11:40");
$otfrom_string = time();
$needed = $parstime*$distance;
$otto_string = $otfrom_string+$needed;
echo date("H:i:s",$otfrom_string)."<br />";
echo date("H:i:s",$otto_string)."<br />";
$start = $otfrom_string;
$end = $otto_string;
$elapsed = $end - $start;
echo date("H:i:s", $elapsed);
$distance=“177”;
$parsetime=strottime(“00:11:40”);
$otfrom_string=time();
$needed=$parstime*$distance;
$otto_string=$otfrom_string+$needed;
回显日期(“H:i:s”,来自字符串的$OTU)。“
”;
回显日期(“H:i:s”,$otto_字符串)。“
”;
$start=$otfrom_字符串;
$end=$otto_字符串;
$appeased=$end-$start;
回送日期(“H:i:s”,已用美元);
strotime在成功时返回时间戳,否则返回false。我认为你是把时间戳乘以177,这不是计算持续时间的方法
我建议您以秒为单位转换字符串,然后乘以177,然后将下面代码的结果添加到当前时间,您就得到了“到达”时间
要将字符串转换为秒,请使用
$timestr = '00:30:00';
$parts = explode(':', $timestr);
$seconds = ($parts[0] * 60 * 60) + ($parts[1] * 60) + $parts[2];
您得到的输出可能重复?或者,如果你没有得到任何输出,你会得到什么错误?你认为为什么会是这样?这是输出:2013-05-06 14:37:17 1927-05-06 20:30:37 15:02:04美元过去的时间不等于美元需要的时间吗?
$time = '00:11:40';
$distance = 177;
list($h,$m,$s) = explode(':',$time);
$nbSec = $h * 3600 + $m * 60 + $s;
$totalDuration = $nbSec * $distance;
echo nbSecToString($totalDuration);//print 34:00:25
function nbSecToString($nbSec) {
$tmp = $nbSec % 3600;
$h = ($nbSec - $tmp ) / 3600;
$s = $tmp % 60;
$m = ( $tmp - $s ) / 60;
$h = str_pad($h, 2, "0", STR_PAD_LEFT);
$m = str_pad($m, 2, "0", STR_PAD_LEFT);
$s = str_pad($s, 2, "0", STR_PAD_LEFT);
return "$h:$m:$s";
}