Heim  >  Artikel  >  Backend-Entwicklung  >  将数据库中保存的时间戳转换为过去的时间格式

将数据库中保存的时间戳转换为过去的时间格式

WBOY
WBOYOriginal
2016-08-08 09:29:591838Durchsuche

这个功能一般用在微博、博客的文章发布时间显示上。例如:在新浪微博发布了一篇微博,如果是今天发布的它会显示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> 60:
            <span>$str</span> = <span>$diff</span> . <span>'秒前'</span>;
            <span>break</span>;
        <span>case</span><span>$diff</span> 3600:
            <span>$str</span> = floor(<span>$diff</span> / <span>60</span>) . <span>'分钟前'</span>;
            <span>break</span>;
        <span>case</span><span>$diff</span> 3600 * <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、首先我们要获取当前时间即:now=time();2000tody = strtotime(date(‘Y-m-d’));
3、获取数据库中的时间戳和当前时间的差值。即:diff=now - $time;
4、通过switch判断数据库中的时间戳来显示对应的时间格式(时、分、秒、具体时间)

以上就介绍了将数据库中保存的时间戳转换为过去的时间格式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn