PHP - 将小数转换为小时数,其中超过60分钟将添加到小时

时间:2016-09-30 03:28:44

标签: php


我有这个十进制值:

$decimalVal = 1.92

现在我希望将其转换为时间(H:s),另一个问题是在转换过程中,必须将超过60分钟添加到小时,剩余的分钟将被留下。

$decimalVal = 1.92
.. some code here ..

// desired output is 02:32 (2 hours, 32 minutes)

我到处搜索,但似乎没有任何工作 请帮忙。谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了答案here。感谢LYF_HKN!

这里是链接中的代码:

function convert($value) {
  if ( !preg_match('/^(\d{1,2})\.(\d{1,2})$/', $value, $matches) ||
      count($matches) !== 3)
    return 'convert: Invalid value provided';

  $matches[1] += floor($matches[2] / 60);
  return sprintf('%02d:%02d', $matches[1], $matches[2] % 60);
}

$decimalVal = 1.92;
// desired output is 02:32 (2 hours, 32 minutes)
echo convert($decimalVal);