场景:现在得到一个订单的超时秒数 想把他转为xx小时xx分钟xx秒 实现代码如下:
$init = 686;
function secondsToTime($init){
$hours = floor($init / 3600);
$minutes = floor(($init / 60) % 60);
$seconds = $init % 60;
return"{$hours}时{$minutes}分{$seconds}秒";
}
$r = secondsToTime($init);
echo $r;
//将输出0小时11分26秒
如果想要转为xx天xx小时xx分钟xx秒 可以使用以下代码实现
/**
* 将秒进行格式化
*@param $inputSeconds 秒数
*@return array
*/
function secondsToTime($inputSeconds) {
$secondsInAMinute = 60;
$secondsInAnHour = 60 * $secondsInAMinute;
$secondsInADay = 24 * $secondsInAnHour;
// extract days
$days = floor($inputSeconds / $secondsInADay);
// extract hours
$hourSeconds = $inputSeconds % $secondsInADay;
$hours = floor($hourSeconds / $secondsInAnHour);
// extract minutes
$minuteSeconds = $hourSeconds % $secondsInAnHour;
$minutes = floor($minuteSeconds / $secondsInAMinute);
// extract the remaining seconds
$remainingSeconds = $minuteSeconds % $secondsInAMinute;
$seconds = ceil($remainingSeconds);
// return the final array
$obj = array(
'd' => (int) $days,
'h' => (int) $hours,
'm' => (int) $minutes,
's' => (int) $seconds,
);
return $obj;
}