PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解


Posted in PHP onJune 06, 2013

在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“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时间戳
PHP 相关文章推荐
php和js交互一例-PHP教程,PHP应用
Jan 03 PHP
一道关于php变量引用的面试题
Aug 08 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
学习php设计模式 php实现模板方法模式
Dec 08 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
php-beanstalkd消息队列类实例分享
Jul 19 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 #PHP
解析PHP多种序列化与反序列化的方法
Jun 06 #PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 #PHP
深入PHP获取随机数字和字母的方法详解
Jun 06 #PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 #PHP
深入PHP中慎用双等于(==)的详解
Jun 06 #PHP
解析PHP中如何将数组变量写入文件
Jun 06 #PHP
You might like
搜索和替换文件或目录的一个好类--很实用
2006/10/09 PHP
ajax缓存问题解决途径
2006/12/06 PHP
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
深入解析php之sphinx
2013/05/15 PHP
php下载excel无法打开的解决方法
2013/12/24 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
Bootstrap源码解读排版(1)
2016/12/23 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python如何统计代码运行的时长
2019/07/24 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
实习老师个人总结的自我评价
2013/09/28 职场文书
应聘会计求职信
2014/06/11 职场文书
安全承诺书
2015/01/19 职场文书
MySQL Server 层四个日志
2022/03/31 MySQL