3 回答
TA贡献1777条经验 获得超10个赞
<?php
function convertToHoursMins($time, $format = '%02d:%02d') {
if ($time < 1) {
return;
}
$hours = floor($time / 60);
$minutes = ($time % 60);
return sprintf($format, $hours, $minutes);
}
echo convertToHoursMins(250, '%02d hours %02d minutes'); // should output 4 hours 17 minutes
TA贡献1803条经验 获得超3个赞
您可以通过DateTime扩展来实现此目的,该扩展名也可以在大于一天(>= 1440)的分钟数内工作:
$minutes = 250;
$zero = new DateTime('@0');
$offset = new DateTime('@' . $minutes * 60);
$diff = $zero->diff($offset);
echo $diff->format('%a Days, %h Hours, %i Minutes');
TA贡献1906条经验 获得超10个赞
它需要进行一些重构,以适应普通用户对网站(网络系统)的期望。
我认为,当分钟数低于10时,必须添加一个前导零。
例如:10:01,而不是10:1
我将代码更改为接受,$time = 0因为0:00优于24:00。
还有一件事-不可能$time大于1439-23:59,下一个值就是0:00。
function convertToHoursMins($time, $format = '%d:%s') {
settype($time, 'integer');
if ($time < 0 || $time >= 1440) {
return;
}
$hours = floor($time/60);
$minutes = $time%60;
if ($minutes < 10) {
$minutes = '0' . $minutes;
}
return sprintf($format, $hours, $minutes);
}
- 3 回答
- 0 关注
- 307 浏览
添加回答
举报