php将时间差(秒)格式化为冒号间隔的时分秒格式
php系统函数,示例:
echo gmstrftime('%H:%M:%S', 65);
//输出:00:01:05
以上函数有个缺点是当秒数足够大,超过24小时后,会显示错误,下面这个函数解决了这个问题,同时也达到了相同的效果。
/**
* @desc php将时间差(秒)格式化为冒号间隔的时分秒格式
* @param int $time
* @return string
*/
function secTime($time = 0) {
if ($time < 1) return '00:00:00';
$str = '';
if ($time >= 3600) {
$str .= str_pad(floor($time / 3600), 2, '0', STR_PAD_LEFT) . ':';
$time = $time % 3600;
} else {
$str .= '00:';
}
if ($time >= 60) {
$str .= str_pad(floor($time / 60), 2, '0', STR_PAD_LEFT) . ':';
$time = $time % 60;
} else {
$str .= '00:';
}
if ($time > 0) {
$str .= str_pad($time, 2, '0', STR_PAD_LEFT);
}
return $str;
}