计算距离现在过去多长时间

1.、

/**
 * 传入时间戳,计算距离现在的时间
 * @param  number $time 时间戳
 * @return string       返回多少以前
 */
function timeFormat($time) {
    $time = (int) substr($time, 0, 10);
    $int = time() - $time;
    $str = '';
    if ($int <= 2){
        $str = sprintf('刚刚', $int);
    }elseif ($int < 60){
        $str = sprintf('%d秒前', $int);
    }elseif ($int < 3600){
        $str = sprintf('%d分钟前', floor($int / 60));
    }elseif ($int < 86400){
        $str = sprintf('%d小时前', floor($int / 3600));
    }else{
        $str = date('Y-m-d H:i', $time);
    }
    return $str;
}

2、

/*
 *  传入格式化的日期格式    2017-06-12
 *  小于1分钟               显示  刚刚
 *  小于1小时               显示  多少分钟
 *  大于1小时小于24小时     显示  多少小时前
 *  大于24小时 小于48小时   显示  1天前
 *  大于48小时 小于2016年   显示  年月日
 *  大于48小时 大于2016年   显示  月日
 *  其它                    显示  日期
 */
function TurnAskTime($ask_time){
    $strtime=strtotime($ask_time);
    $year=date('Y',$strtime);
    $c = time()-$strtime;
    $hour = floor($c/3600);//时
    $t_year = date('Y');

    if($c<60){
        return '刚刚';
    }elseif($c<3600){
        return ((int)($c/60))."分钟前";
    }elseif($hour<24){
        return $hour."小时前";
    }elseif($year < $t_year){
        return date('Y-m-d H:i',$strtime);
    }elseif($year = $t_year){
        return date('m-d H:i',$strtime);
    }else{
        return date('Y-m-d H:i',$strtime);
    }
}

3、

//消息列表,时间格式
function TurnAskTime2($object_time,$is_str=0){
    if($is_str){
        $strtime=$object_time;
    }else{
        $strtime = strtotime($object_time);
    }
    $year=date('Y',$strtime);
    $c = time()-$strtime;
    $hour = floor($c/3600);//时
    $t_year = date('Y');

    if($c <= 60){
        return '刚刚';
    }elseif($c <= 3600){
        return ((int)($c/60))."分钟前";
    }elseif($hour <= 24){
        return date('H:i',$strtime);
    }elseif($year <= $t_year){
        return date('m-d H:i',$strtime);
    }else{
        return date('Y-m-d H:i',$strtime);
    }
}

4、

/**
 * 获取当前时间差描述
 * @param $timeline int unix时间戳
 */
function get_time_before_noew($timeline) {
    $currtime = time();
    $year=date('Y',$timeline);
    $c = $currtime - $timeline;
    $hour = floor($c/3600);//时
    $t_year = date('Y');

    if($c<60){
        return '刚刚';
    }elseif($c<3600){
        return ((int)($c/60))."分钟前";
    }elseif($hour<24){
        return $hour."小时前";
    }elseif($year < $t_year){
        return date('Y-m-d H:i',$timeline);
    }elseif($year = $t_year){
        return date('m-d H:i',$timeline);
    }else{
        return date('Y-m-d H:i',$timeline);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值