国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php格式化時間戳

2024-05-04 23:53:46
字體:
來源:轉載
供稿:網友

CMS中一般顯示時間比較新的文章需要顯示幾分鐘前,幾天前這樣,但是一般數據庫里面記錄的都是時間戳(至少我習慣這樣),所以就需要一個轉化的過程,根據網上的資料加上自己的修改整理封裝了兩段代碼

下面是封裝好的方法

function formatTime($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));    }elseif ($int < 2592000){      $str = sprintf('%d天前', floor($int / 86400));    }else{      $str = date('Y-m-d H:i:s', $time);    }    return $str;  }

或者 更詳細的

  function formatTime($time)  {    $text = '';    $time = intval($time);    $ctime = time();    $t = $ctime - $time; //時間差    if ($t < 0) {      return date('Y-m-d', $time);    }    ;    $y = date('Y', $ctime) - date('Y', $time);//是否跨年    switch ($t) {      case $t == 0:        $text = '剛剛';        break;      case $t < 60://一分鐘內        $text = $t . '秒前';        break;      case $t < 3600://一小時內        $text = floor($t / 60) . '分鐘前';        break;      case $t < 86400://一天內        $text = floor($t / 3600) . '小時前'; // 一天內        break;      case $t < 2592000://30天內        if($time > strtotime(date('Ymd',strtotime("-1 day")))) {          $text = '昨天';        } elseif($time > strtotime(date('Ymd',strtotime("-2 days")))) {          $text = '前天';        } else {          $text = floor($t / 86400) . '天前';        }        break;      case $t < 31536000 && $y == 0://一年內 不跨年        $m = date('m', $ctime) - date('m', $time) -1;        if($m == 0) {          $text = floor($t / 86400) . '天前';        } else {          $text = $m . '個月前';        }        break;      case $t < 31536000 && $y > 0://一年內 跨年        $text = (11 - date('m', $time) + date('m', $ctime)) . '個月前';        break;      default:        $text = (date('Y', $ctime) - date('Y', $time)) . '年前';        break;    }    return $text;  }

再分享一個類似的

//格式化友好顯示時間function formatTime($time){	$now=time();	$day=date('Y-m-d',$time);	$today=date('Y-m-d');		$dayArr=explode('-',$day);	$todayArr=explode('-',$today);		//距離的天數,這種方法超過30天則不一定準確,但是30天內是準確的,因為一個月可能是30天也可能是31天	$days=($todayArr[0]-$dayArr[0])*365+(($todayArr[1]-$dayArr[1])*30)+($todayArr[2]-$dayArr[2]);	//距離的秒數	$secs=$now-$time;		if($todayArr[0]-$dayArr[0]>0 && $days>3){//跨年且超過3天		return date('Y-m-d',$time);	}else{			if($days<1){//今天			if($secs<60)return $secs.'秒前';			elseif($secs<3600)return floor($secs/60)."分鐘前";			else return floor($secs/3600)."小時前";		}else if($days<2){//昨天			$hour=date('h',$time);			return "昨天".$hour.'點';		}elseif($days<3){//前天			$hour=date('h',$time);			return "前天".$hour.'點';		}else{//三天前			return date('m月d號',$time);		}	}}


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 长葛市| 淮安市| 叙永县| 五华县| 临夏县| 兴化市| 阿尔山市| 太保市| 昌江| 清丰县| 苏州市| 鸡西市| 邛崃市| 银川市| 永昌县| 昂仁县| 昆明市| 兴宁市| 巫山县| 丰原市| 易门县| 吉水县| 伊宁县| 明溪县| 板桥市| 龙游县| 稻城县| 新民市| 醴陵市| 同仁县| 灯塔市| 义马市| 阿拉善盟| 松桃| 宁阳县| 河东区| 大名县| 鹿邑县| 疏附县| 襄垣县| 平邑县|