使用PHP将小时和分钟转换为分钟
问题描述:
我使用Google Maps API获取两点之间的持续时间。该API以小时和分钟为单位给出持续时间。所以我希望它只用PHP代码转换成分钟。有没有解决方案?使用PHP将小时和分钟转换为分钟
例:2小时10分钟(应该给130分钟作为输出)
答
尝试是这样的
// Transform hours like "1:45" into the total number of minutes, "105".
function hoursToMinutes($hours)
{
$minutes = 0;
if (strpos($hours, ':') !== false)
{
// Split hours and minutes.
list($hours, $minutes) = explode(':', $hours);
}
return $hours * 60 + $minutes;
}
// Transform minutes like "105" into hours like "1:45".
function minutesToHours($minutes)
{
$hours = (int)($minutes/60);
$minutes -= $hours * 60;
return sprintf("%d:%02.0f", $hours, $minutes);
}
源:laserlight - >http://board.phpbuilder.com/showthread.php?10342598-quot-Convert-quot-hours-minutes-quot-to-quot-total_minutes-quot-and-back-quot
+2
请称作者, http://board.phpbuilder.com/showthread.php?10342598-quot-Convert-quot-hours-minutes-quot-to-quot-total_minutes-quot-and-back-quot – Tirolel
答
感谢您的帮助球员,我发现了另一种解决方案...这适用于我
$duration = "What Ever the time (2 hours 10 mins)"
$split = preg_split("/[^\w]*([\s]+[^\w]*|$)/", $duration, -1, PREG_SPLIT_NO_EMPTY);
if ($split[0] >= 1 && $split[0] < 60 && $split[1] == 'min'){
$duration = $split[0];
}
elseif ($split[0] >= 1 && $split[0] < 60 && $split[1] == 'mins'){
$duration = $split[0];
}
else{
$durationHours = $split[0]*60;
$durationMin = $split[2];
$duration = $durationHours + $durationMin;
echo $duration;
}
可能的重复将hh:mm:ss转换为分钟](https://*.com/questions/24975664/how-to-convert-hhmmss-to-minutes) – Tirolel
将小时数乘以60,然后将其添加到分钟数。 –