計算距離現在過去多長時間

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);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章