我正在使用php并尝试将十进制转换为时间(hh:mm),但它不适用于任何代码并进行测试,原始字符串来自excel,例如:
0.625 = 15:00
0.53541666666667 = 12:51
0.40277777777778 = 09:40
Run Code Online (Sandbox Code Playgroud)
我通常建议将该DateTime类用于任何日期算术,而不是手动处理.它会考虑任何日光节约/等(尽管从你的问题中不清楚是否需要这样做).
<?php
/**
* @param float $x Decimal number of hours
* @return string HH:mm
*/
function dec_hours($x) {
$sec = intval($x * (24 * 60 * 60));
$date = new DateTime("today +$sec seconds");
return $date->format('H:i');
}
echo dec_hours(0.625); // 15:00
echo dec_hours(0.53541666666667); // 12:51
echo dec_hours(0.40277777777778); // 09:40
Run Code Online (Sandbox Code Playgroud)