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; }