php 返回两个日期或者时间戳的差并格式化

返回两个日期或者时间戳的差并格式化

/**
     * 返回两个日期或者时间戳的差并格式化
     * @param string $startDate 开始时间
     * @param string $endDate 结束时间
     * @param int $type 1-时间戳  2-日期时间类型
     * @param int $format 格式化类型 1-中文 2-英文 3-符号
     * @return string    
     */
    function time_difference(string $startDate,string $endDate,int $type = 1,int $format = 1): string
    {
        $textDate = '';
        $timeDiff = $type == 1 ? abs($endDate - $startDate) : abs(strtotime($endDate)-strtotime($startDate));
        $date = floor($timeDiff/86400);
        $hour = floor($timeDiff%86400/3600);
        $minute = floor($timeDiff%86400%3600/60);
        $second = floor($timeDiff%86400%3600%60);
        if($date > 0){
            $textDate .= $date.'天';
        }
        if($hour > 0){
            $hourFormat = array(1=>'时',2=>'h',3=>':');
            $textDate .= $hour.$hourFormat[$format];
        }
        if($minute > 0){
            $minuteFormat = array(1=>'分',2=>'m',3=>'`');
            $textDate .= $minute.$minuteFormat[$format];
        }
        if($second > 0){
            $secondFormat = array(1=>'秒',2=>'s',3=>'``');
            $textDate .= $second.$secondFormat[$format];
        }
        return $textDate;
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值