剩余時間是指一篇文章什麼時候發布到現在有幾分鐘或幾天了,這個在很多博客論壇都以看到文章1天以前發布的,下面我介紹兩實例
把兩個日期格式的字符串轉化成unix時間戳,然後相減獲得時間戳差。最後判斷剩余時間,生成類似(2小時30分鐘20秒前發布)這樣的時間格式
代碼如下 復制代碼public function gettime($time_s,$time_n){
$time_s = strtotime($time_s);
$time_n = strtotime($time_n);
$strtime = '';
$time = $time_n-$time_s;
if($time >= 86400){
return $strtime = date('Y-m-d H:i:s',$time_s);
}
if($time >= 3600){
$strtime .= intval($time/3600).'小時';
$time = $time % 3600;
}else{
$strtime .= '';
}
if($time >= 60){
$strtime .= intval($time/60).'分鐘';
$time = $time % 60;
}else{
$strtime .= '';
}
if($time > 0){
$strtime .= intval($time).'秒前';
}else{
$strtime = "時間錯誤";
}
return $strtime;
}
首先判斷想減之後的值是否大於一天的秒數86400秒,如果大於的話就返回原來的數據庫查詢出來的時間
然後判斷是否在1小時到一天之內,也就是3600秒-86400秒,如果是之內的話就返回X小時。得到結果後還需使用取余數的方法去除小時部分的時間,使用 %取余
然後判斷是否在1分鐘到一小時之內,也就是60秒-3600秒,如果是之內的話就返回X分鐘。得到結果後還需使用取余數的方法去除分鐘部分的時間,使用 %取余
最後判斷是否在1分鐘之內,也就是0秒-60秒,如果是之內的話就返回X分秒
注意:上面得出的結果都是使用.=連接的。這樣最後才得到一個整體的時間。