php計算多長時間前發的內容2個函數

來源:互聯網
上載者:User

例子,

多長時間前的時間函數,論壇,部落格常用

 代碼如下 複製代碼

function timeFromNow($dateline) {
    if(empty($dateline)) return false;
    $seconds = time() - $dateline;
    if ($seconds < 60){
   return "1分鐘前";
    }elseif($seconds < 3600){
   return floor($seconds/60)."分鐘前";
    }elseif($seconds  < 24*3600){
   return floor($seconds/3600)."小時前";
    }elseif($seconds < 48*3600){
   return date("昨天 H:i", $dateline)."";
    }else{
   return date('Y-m-d', $dateline);
    }
}

echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15
echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前

註:這裡沒有考慮到時區。

後來在網上看到一段代碼

 

 代碼如下 複製代碼
function time_tran($the_time){
   $now_time = date("Y-m-d H:i:s",time()+8*60*60);
   $now_time = strtotime($now_time);
   $show_time = strtotime($the_time);
   $dur = $now_time - $show_time;
   if($dur < 0){
    return $the_time;
   }else{
    if($dur < 60){
return $dur.'秒前';
    }else{
if($dur < 3600){
 return floor($dur/60).'分鐘前';
}else{
 if($dur < 86400){
  return floor($dur/3600).'小時前';
 }else{
  if($dur < 259200){//3天內
   return floor($dur/86400).'天前';
  }else{
   return $the_time;
  }
 }
}

最後補充時區

在 php.ini 中,預設是 date.timezone = UTC。修改為中國時區,修改為 date.timezone = PRC。如果直接寫 GMT 格式的,是 date.timezone = Etc/GMT+8。
另外,也可以在 PHP 頁面頭中設定。
date_default_timezone_set('PRC');
測試:
echo date('Y-m-d H:i:s');

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.