將資料庫中儲存的時間戳記轉換為過去的時間格式

WBOY
發布: 2016-08-08 09:29:59
原創
1874 人瀏覽過

這個功能一般用在微博、部落格的文章發佈時間顯示。例如:在新浪微博發布了一篇微博,如果是今天發布的它會顯示XX秒、XX小時前發布而不是顯示具體的時間。如果轉發一篇先前發布的微博則原微博顯示其發布的時間。
那麼如何實現呢?程式碼如下:

<code><span>/**格式化时间函数
 *<span> @param</span> $time 需要格式化的时间戳
 */</span><span><span>function</span><span>time_format</span><span>(<span>$time</span>)</span> {</span><span>$now</span> = time();
    <span>$tody</span> = strtotime(date(<span>'Y-m-d'</span>));
    <span>$diff</span> = <span>$now</span> - <span>$time</span>;
    <span>$str</span> = <span>''</span>;
    <span>switch</span> (<span>$time</span>) {
        <span>case</span><span>$diff</span> < <span>60</span>:
            <span>$str</span> = <span>$diff</span> . <span>'秒前'</span>;
            <span>break</span>;
        <span>case</span><span>$diff</span> < <span>3600</span>:
            <span>$str</span> = floor(<span>$diff</span> / <span>60</span>) . <span>'分钟前'</span>;
            <span>break</span>;
        <span>case</span><span>$diff</span> < (<span>3600</span> * <span>8</span>):
            <span>$str</span> = floor(<span>$diff</span> / <span>3600</span>) . <span>'小时前'</span>;
            <span>break</span>;
        <span>case</span><span>$time</span> > <span>$tody</span>:
            <span>$str</span> = <span>'今天'</span> . date(<span>'Y-m-d H:i:s'</span>, <span>$time</span>);
            <span>break</span>;
        <span>default</span>:
            <span>$str</span> = date(<span>'Y-m-d H:i:s'</span>, <span>$time</span>);
    }

    <span>return</span><span>$str</span>;
}

<span>$time</span> = <span>1423110837</span>;<span>//模拟保存在数据库中的时间戳</span><span>echo</span> time_format(<span>$time</span>);</code>
登入後複製

解讀:
1.首先我們要取得目前時間即:nowow ); 2 0 0 tody = strtotime(date(‘Y-m-d’)); 3、取得資料庫中的時間戳記和當前時間的差值。即:
difif now - $time; 4.透過switch判斷資料庫中的時間戳記來顯示對應的時間格式(時、分、秒、具體時間) 以上就介紹了將資料庫中保存的時間戳轉換為過去的時間格式,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板