今天做的项目需要一个把秒数转化成时间的函数,在网上找了好久都没找到,找到的都是把秒数转成确切的时间,但是在我的项目里会有BUG,比方说
<?
echo gmdate("d H:i:s",3600);
?>
会显示成 03天14:06:40。
比实际的多一天,这并不是gmdate函数的错误,因为他是从Jan 01 1970 00:00:00 累加的。
所以只好自己写一个函数,功能是把秒数转化为相对的时间,并不是绝对时间。
<?
echo float2time(223600);
?>
结果是 2天14时6分40秒。
最大的单位是天,因为我的项目不需要用到太长的时间。
现在不知道php有没有这样的系统函数,如果有,请麻烦告诉我。
自定义函数源码如下
<?php
function float2time($s)
{
$m=(int)($s/60);
if($m<1)
{
return $s."秒";
}else{
$s=$s%60;
$h=(int)($m/60);
if($h<1)
{
return $m."分".$s."秒";
}else{
$m=$m%60;
$d=(int)($h/24);
if($d<1)
{
return $h."时".$m."分".$s."秒";
}else{
$h=(int)($h%24);
return $d."天".$h."时".$m."分".$s."秒";
}
}
}
}
?>