<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    php格式化時間戳的方法技巧

    時間:2025-01-04 12:04:48 php語言 我要投稿
    • 相關推薦

    php格式化時間戳的方法技巧

      導語:CMS中一般顯示時間比較新的文章需要顯示幾分鐘前,幾天前這樣,但是一般數據庫里面記錄的都是時間戳(至少我習慣這樣),所以就需要一個轉化的過程,下面就由小編為大家介紹一下php格式化時間戳的方法技巧,歡迎大家閱讀!

    php格式化時間戳的方法技巧

      下面是封裝好的方法

      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格式化時間戳的方法技巧】相關文章:

    PHP日期函數date格式化UNIX時間的方法10-02

    PHP時間轉換Unix時間戳代碼08-19

    PHP時間戳使用實例代碼10-16

    php時間戳與日期的轉換08-02

    分析php日期轉時間戳06-11

    php時間戳與日期如何轉換09-30

    解析php時間戳與日期的轉換10-21

    php日期轉時間戳 指定日期轉換成時間戳09-26

    如何利用PHP時間轉換Unix時間戳代碼10-21

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人