首页 后端开发 php教程 将数据库中保存的时间戳转换为过去的时间格式

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

Aug 08, 2016 am 09:29 AM
break case diff str time

这个功能一般用在微博、博客的文章发布时间显示上。例如:在新浪微博发布了一篇微博,如果是今天发布的它会显示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教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

time包的单调时钟处理 time包的单调时钟处理 Aug 04, 2023 pm 05:45 PM

我们今天主要是来看一看golang time 包的时间应用方式。两者的一般规则是「wall time」用于告知时间,而「monotonic clock」用于测量时间;除外还有其他的时钟处理方式。

用vimdiff替代svn diff:比较代码的工具 用vimdiff替代svn diff:比较代码的工具 Jan 09, 2024 pm 07:54 PM

在linux下,直接使用svndiff命令查看代码的修改是很吃力的,于是在网上搜索到了一个比较好的解决方案,就是让vimdiff作为svndiff的查看代码工具,尤其对于习惯用vim的人来说真的是很方便。当使用svndiff命令比较某个文件的修改前后时,例如执行以下命令:$svndiff-r4420ngx_http_limit_req_module.c那么实际会向默认的diff程序发送如下命令:-u-Lngx_http_limit_req_module.c(revision4420)-Lngx_

HMD Skyline 获得新的颜色选项和官方磁性外壳 HMD Skyline 获得新的颜色选项和官方磁性外壳 Aug 23, 2024 am 07:04 AM

上个月推出 HMD Skyline(亚马逊售价 499 美元)时,它有两种颜色:霓虹粉和扭曲黑。现在,第三种颜色加入了蓝色托帕石的行列。 HMD Global 还宣布了 PH 的官方案例

Python内建类型str源码分析 Python内建类型str源码分析 May 09, 2023 pm 02:16 PM

1Unicode计算机存储的基本单位是字节,由8个比特位组成。由于英文只由26个字母加若干符号组成,因此英文字符可以直接用字节来保存。但是其他语言(例如中日韩等),由于字符众多,不得不使用多个字节来进行编码。随着计算机技术的传播,非拉丁文字符编码技术不断发展,但是仍然存在两个比较大的局限性:不支持多语言:一种语言的编码方案不能用于另外一种语言没有统一标准:例如中文就有GBK、GB2312、GB18030等多种编码标准由于编码方式不统一,开发人员就需要在不同编码之间来回转换,不可避免地会出现很多错

switch case判断变量 switch case判断变量 Feb 19, 2024 am 08:04 AM

switchcase判断变量,需要具体代码示例在编程中,我们经常需要根据不同的变量值来执行不同的操作。switchcase语句是一种方便的结构,可以根据变量的值来选择不同的代码块进行执行。下面是一个具体的代码示例,展示了如何使用switchcase语句判断变量的不同取值:#includeintmain(){

Java8 Time Api如何使用 Java8 Time Api如何使用 Apr 28, 2023 pm 12:25 PM

1.概述作为本文的一部分,让我们从现有Date和CalendarAPI存在的一些问题入手,来探讨新的Java8Date和TimeAPI如何解决这些问题。我们还将搞一搞Java8时间类库中的核心类,比如LocalDate,LocalTime,LocalDateTime,ZonedDateTime,Period,Duration以及它们的api。2.旧的时间API(java8之前)的问题线程安全-Date和Calendar类不是线程安全的,使开发者难以调试这些api的并发问题,需要编写额外的代码来处

python中time和datetime的区别及用法是什么 python中time和datetime的区别及用法是什么 May 02, 2023 am 11:01 AM

一.Python中表示时间的两种方式:时间戳:相对于1970.1.100:00:00以秒计算的偏移量,唯一的时间元组struct_time:共有9个元素>tm_year:年1-12>tm_mon:月1-12>tm_mday:日1-31>tm_hour:时0-23>tm_min:分0-59>tm_sec:秒0-59>tm_wday:星期0-6(0表示周日)>tm_day:一年中的第几天1-366>tm_isdst:是否是夏令,默认为-1二.ti

Python中__str__和__repr__有什么异同点 Python中__str__和__repr__有什么异同点 Apr 29, 2023 pm 07:58 PM

__str__和__repr__有什么异同?字符串的表示形式我们都知道,Python的内置函数repr()能够把对象用字符串的形式表达出来,方便我们辨认。这就是“字符串表示形式”。repr()就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式的。如果没有实现__repr__,当我们在控制台里打印一个向量的实例时,得到的字符串可能会是。>>>classExample:pass>>>print(str(Example()))>>>

See all articles