php将秒数转换成时分秒插图

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php 秒数转换成时分秒方法:

前言

通讯记录需要用到的一个方法,就是将秒转为时分秒

方法

PHP有内置的方法,直接用即可,不过这个只是24小时以内。对于通讯录来说是够用了~

php将秒数转换成时分秒插图1

示例

$v = 30;gmdate('H:i:s', $v); //00:00:30

如果要改成XX时XX分XX秒这种格式只要转化下就可以了,我这里直接用三元嵌套了

/**
* 处理时间
*
* @param string $s 转化好的时间
*
* @return string $ftime 处理好的时间 */
public function ftime($s)
{
$time = explode(':', $s);
$time['0'] == '00' ? $h = 0 : $h = $time['0'];
$time['1'] == '00' ? $m = 0 : $m = $time['1'];
$time['2'] == '00' ? $s = 0 : $s = $time['2'];
$ftime = (
empty($h) ? (
empty($m) ? $s .'秒' : (
empty($s) ? $m . '分' : $m . '分' . $s .'秒'
)
) :(
empty($m) && empty($s) ? $h .'小时' : (
empty($m) ? $h . '时' . $s . '秒' : (
empty($s) ? $h . '小时' . $m . '分' : $h . '小时' . $m . '分' .$s . '秒'
)
)
)
); return $ftime;
}

效果图

php将秒数转换成时分秒插图2

推荐学习:《PHP视频教程

但是这个只是24小时以内的,虽然对通讯录够用了,但是对于如果下次需要一个显示天的呢?所以接下来重新写个方法。

/**
* 秒转换为天,小时,分钟
*
* @param int $second 时间戳
*
* @return string */
function secondChanage($second = 0)
{
$newtime = '';
$d = floor($second / (3600*24));
$h = floor(($second % (3600*24)) / 3600);
$m = floor((($second % (3600*24)) % 3600) / 60);
$s = $second - ($d*24*3600) - ($h*3600) - ($m*60); empty($d) ?
$newtime = (
empty($h) ? (
empty($m) ? $s . '秒' : (

empty($s) ? $m.'分' : $m.'分'.$s.'秒'
)
) : (
empty($m) && empty($s) ? $h . '时' : (
empty($m) ? $h . '时' . $s . '秒' : (
empty($s) ? $h . '时' . $m . '分' : $h . '时' . $m . '分' . $s . '秒'
)
)
)
) : $newtime = (
empty($h) && empty($m) && empty($s) ? $d . '天' : (
empty($h) && empty($m) ? $d . '天' . $s .'秒' : (
empty($h) && empty($s) ? $d . '天' . $m .'分' : (
empty($m) && empty($s) ? $d . '天' .$h . '时' : (
empty($h) ? $d . '天' .$m . '分' . $s .'秒' : (
empty($m) ? $d . '天' .$h . '时' . $s .'秒' : (
empty($s) ? $d . '天' .$h . '时' . $m .'分' : $d . '天' .$h . '时' . $m .'分' . $s . '秒'
)
)
)
)
)
)
);
return $newtime;

}

php将秒数转换成时分秒插图3

以上就是php将秒数转换成时分秒的详细内容,更多请关注亿码酷站其它相关文章!


<!–亿码酷站直播班–>php将秒数转换成时分秒
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

云服务器推荐