php 时间 拼接,PHP实现计算两个时间戳之间的时间长度

/**

* 返回两个时间的相距时间,*年*月*日*时*分*秒

* @param int $one_time 时间一

* @param int $two_time 时间二

* @param int $return_type 默认值为0,0/不为0则拼接返回,1/*秒,2/*分*秒,3/*时*分*秒/,4/*日*时*分*秒,5/*月*日*时*分*秒,6/*年*月*日*时*分*秒

* @param array $format_array 格式化字符,例,array('年', '月', '日', '时', '分', '秒')

* @return String or false

*/

public function getRemainderTime($one_time, $two_time, $return_type=0, $format_array=array('年', '月', '日', '时', '分', '秒')){

if($return_type<0 || $return_type>6){

return false;

}

if(!(is_int($one_time) && is_int($two_time))){

return false;

}

$remainder_seconds = abs($one_time-$two_time);

//年

$years = 0;

if(($return_type==0 || $return_type==6) && $remainder_seconds-31536000>0){

$years = floor($remainder_seconds/(31536000));

}

//月

$monthes = 0;

if(($return_type==0 || $return_type>=5) && $remainder_seconds-$years*31536000-2592000>0){

$monthes = floor(($remainder_seconds-$years*31536000)/(2592000));

}

//日

$days = 0;

if(($return_type==0 || $return_type>=4) && $remainder_seconds-$years*31536000-$monthes*2592000-86400>0){

$days = floor(($remainder_seconds-$years*31536000-$monthes*2592000)/(86400));

}

//时

$hours = 0;

if(($return_type==0 || $return_type>=3) && $remainder_seconds-$years*31536000-$monthes*2592000-$days*86400-3600>0){

$hours = floor(($remainder_seconds-$years*31536000-$monthes*2592000-$days*86400)/3600);

}

//分

$minutes = 0;

if(($return_type==0 || $return_type>=2) && $remainder_seconds-$years*31536000-$monthes*2592000-$days*86400-$hours*3600-60>0){

$minutes = floor(($remainder_seconds-$years*31536000-$monthes*2592000-$days*86400-$hours*3600)/60);

}

//秒

$seconds = $remainder_seconds-$years*31536000-$monthes*2592000-$days*86400-$hours*3600-$minutes*60;

$return = false;

switch ($return_type){

case 0:

if($years>0){

$return = $years.$format_array[0].$monthes.$format_array[1].$days.$format_array[2].$hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

}else if($monthes>0){

$return = $monthes.$format_array[1].$days.$format_array[2].$hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

}else if($days>0){

$return = $days.$format_array[2].$hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

}else if($hours>0){

$return = $hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

}else if($minutes>0){

$return = $minutes.$format_array[4].$seconds.$format_array[5];

}else{

$return = $seconds.$format_array[5];

}

break;

case 1:

$return = $seconds.$format_array[5];

break;

case 2:

$return = $minutes.$format_array[4].$seconds.$format_array[5];

break;

case 3:

$return = $hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

break;

case 4:

$return = $days.$format_array[2].$hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

break;

case 5:

$return = $monthes.$format_array[1].$days.$format_array[2].$hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

break;

case 6:

$return = $years.$format_array[0].$monthes.$format_array[1].$days.$format_array[2].$hours.$format_array[3].$minutes.$format_array[4].$seconds.$format_array[5];

break;

default:

$return = false;

}

return $return;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值