程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP CodeBase: 將時間顯示為“剛剛”“n分鐘/小時前”等

PHP CodeBase: 將時間顯示為“剛剛”“n分鐘/小時前”等

編輯:關於PHP編程

在很多場合為了顯示出信息的及時性,一般會將時間顯示成“剛剛”,“5分鐘前”,“3小時前”等,而不是直接將時間打印出來。比如微博,SNS類應用就最長用到這個功能。而一般存儲在數據庫中的時間格式為 Unix時間戳,所以這裡記錄一個將 Unix時間戳 轉化為時間軸顯示的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時間戳

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved