在不少場合爲了顯示出信息的及時性,通常會將時間顯示成「剛剛」,「5分鐘前」,「3小時前」等,而不是直接將時間打印出來。好比微博,SNS類應用就最長用到這個功能。而通常存儲在數據庫中的時間格式爲 Unix時間戳,因此這裏記錄一個將 Unix時間戳 轉化爲時間軸顯示的PHP函數。php
函數比較簡單,直接看代碼就很好懂了。數據庫
<?php date_default_timezone_set('PRC'); $date = "1351836000"; echo tranTime($date); function transfer_time($time) { $rtime = date("m-d H:i",$time); $htime = date("H:i",$time); $time = time() - $time; if ($time < 60) { $str = '剛剛'; } elseif ($time < 60 * 60) { $min = floor($time/60); $str = $min.'分鐘前'; } elseif ($time < 60 * 60 * 24) { $h = floor($time/(60*60)); $str = $h.'小時前 '.$htime; } elseif ($time < 60 * 60 * 24 * 3) { $d = floor($time/(60*60*24)); if($d==1) $str = '昨天 '.$rtime; else $str = '前天 '.$rtime; } else { $str = $rtime; } return $str; } ?>
注意函數transfer_time()中的參數$time必須爲Unix時間戳,若是不是請先用strtotime()將其轉換成Unix時間戳。函數