1. 程式人生 > >PHP把時間轉換成幾秒前、幾分鐘前、幾小時前、幾天前

PHP把時間轉換成幾秒前、幾分鐘前、幾小時前、幾天前

  1. 例項1:
  2. <?php  
  3. header("Content-type: text/html; charset=utf8");  
  4. date_default_timezone_set("Asia/Shanghai");   //設定時區
  5. function time_tran($the_time) {  
  6.     $now_time = date("Y-m-d H:i:s", time());  
  7.     //echo $now_time;
  8.     $now_time = strtotime($now_time);  
  9.     $show_time = strtotime($the_time);  
  10.     $dur = 
    $now_time - $show_time;  
  11.     if ($dur < 0) {  
  12.         return$the_time;  
  13.     } else {  
  14.         if ($dur < 60) {  
  15.             return$dur . '秒前';  
  16.         } else {  
  17.             if ($dur < 3600) {  
  18.                 returnfloor($dur / 60) . '分鐘前';  
  19.             } else {  
  20.                 if ($dur < 86400) {  
  21.                     returnfloor($dur / 3600) . '小時前';  
  22.                 } else {  
  23.                     if ($dur < 259200) {//3天內
  24.                         returnfloor($dur / 86400) . '天前';  
  25.                     } else {  
  26.                         return$the_time;  
  27.                     }  
  28.                 }  
  29.             }  
  30.         }  
  31.     }  
  32. }  
  33. echo time_tran("2014-7-8 19:22:01");  
  34. ?> 

例項2:

  1. <?php  
  2. function time_tranx($the_time){  
  3.    $now_time = date("Y-m-d H:i:s",time()+8*60*60);  
  4.    $now_time = strtotime($now_time);  
  5.    $show_time = strtotime($the_time);  
  6.    $dur = $now_time - $show_time;  
  7.    if($dur < 0){  
  8.         return$the_time;  
  9.    }else{  
  10.         if($dur < 60){  
  11.          return$dur.'秒前';  
  12.         }else{  
  13.              if($dur < 3600){  
  14.               returnfloor($dur/60).'分鐘前';  
  15.              }else{  
  16.                   if($dur < 86400){  
  17.                      returnfloor($dur/3600).'小時前';  
  18.                   }else{  
  19.                        if($dur < 259200){ //3天內
  20.                             returnfloor($dur/86400).'天前';  
  21.                        }else{  
  22.                             return$the_time;  
  23.                        }  
  24.                   }  
  25.             }  
  26.         }  
  27.    }  
  28. }  
  29. echo time_tranx("2014-7-8 19:22:01");  
  30. ?>
例項3:
  1. <?php  
  2. function formatTime($date) {  
  3.     $str = '';  
  4.     $timer = strtotime($date);  
  5.     $diff = $_SERVER['REQUEST_TIME'] - $timer;  
  6.     $day = floor($diff / 86400);  
  7.     $free = $diff % 86400;  
  8.     if($day > 0) {  
  9.         return$day."天前";  
  10.     }else{  
  11.         if($free>0){  
  12.             $hour = floor($free / 3600);  
  13.             $free = $free % 3600;  
  14.                 if($hour>0){  
  15.                     return$hour."小時前";  
  16.                 }else{  
  17.                     if($free>0){  
  18.                         $min = floor($free / 60);  
  19.                         $free = $free % 60;  
  20.                         if($min>0){  
  21.                             return$min."分鐘前";  
  22.                         }else{  
  23.                             if($free>0){  
  24.                                 return$free."秒前";  
  25.                             }else{  
  26.                                 return'剛剛';  
  27.                             }  
  28.                        }  
  29.                     }else{  
  30.                         return'剛剛';  
  31.                     }  
  32.                }  
  33.        }else{  
  34.            return'剛剛';  
  35.        }  
  36.     }  
  37. }  
  38. echo formatTime("2014-7-8 19:22:01");  
  39. ?>