例子,
多長時間前的時間函數,論壇,部落格常用
| 代碼如下 |
複製代碼 |
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');