为了账号安全,请及时绑定邮箱和手机立即绑定

请问怎么使用PHP将分钟数转换为小时和分钟

请问怎么使用PHP将分钟数转换为小时和分钟

PHP
小唯快跑啊 2019-11-04 10:29:13
我有一个称为$final_time_saving分钟的变量,例如250分钟。如何使用以下格式的PHP将分钟数转换为小时数和分钟数:4 hours 10 minutes
查看完整描述

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



查看完整回答
反对 回复 2019-11-04
?
繁星点点滴滴

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');



查看完整回答
反对 回复 2019-11-04
?
隔江千里

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);

}



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 307 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信