将十进制分钟转换为HH:MM:SS

时间:2019-02-20 23:55:23

标签: php datetime

我正在尝试将PHP中的十进制分钟数(即0.8)转换为HH:MM:SS格式。我希望将“ 0.8”格式化为“ 00:00:48”。以下是我拥有的当前代码,但当前正在生成错误。

$decimalized_minutes = "0.8";

$duration = fmod($decimalized_minutes, 60);
$sec = $duration % 60;
$min = fmod(($duration - $sec) / 60, 60);
$hour = ($duration - 60 * $min - $sec) / 3600;
$durDate = new DateInterval("PT$hour" . "H$min" . "M$sec" . 'S');
$returnString = $durDate->format('%H:%I:%S');

echo $returnString;

但是,我目前收到此错误:

DateInterval::__construct(): Unknown or bad format (PT0H0.013333333333333M0S)

有人知道这个错误是什么意思,为什么我会收到它?也许可以推荐一个库来执行此功能?

1 个答案:

答案 0 :(得分:0)

将分钟转换为秒,然后使用gmdate("H:i:s", time_in_seconds); //in your case 48