PHP实现时间轴函数代码


Posted in PHP onOctober 08, 2011

本文将介绍如何实现基于时间轴的时间的转换。
首先我们要明白时间的几个函数:
time():返回当前的 Unix 时间戳
date():格式化一个本地时间/日期。
应用举例:

date("Y-m-d H:i:s",time()); //格式化当前时间,输出:2011-9-24 07:27:35

strtotime():将任何英文文本的日期时间描述解析为 Unix 时间戳。
应用举例:
echo strtotime("+1 day"), "\n"; //输出1天前的时间戳:1316932222

date_default_timezone_set():设定要用的默认时区。
一般我们设置北京时间:date_default_timezone_set("PRC");
理解上面几个函数后我们来写时间轴函数:
该函数的原理就是将系统当前时间与目标时间比较,得到一个差值,再将差值与时间范围(转换成秒)比较,根据其处在时间轴的范围输出不同的结果(如:5分钟前)。为了便于计算,我们将时间都转换成Unix时间戳。
function tranTime($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; 
}

函数tranTime()中的参数$time必须为Unix时间戳,如果不是请先用strtotime()将其转换成Unix时间戳。上面的代码一看就明白了,不用再多述。
调用函数,直接输出:
$times="1316932222";  
echo tranTime($times);
PHP 相关文章推荐
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
PHP 数组基础知识小结
Aug 20 PHP
PHP安全配置详细说明
Sep 26 PHP
PHP 面向对象详解
Sep 13 PHP
php define的第二个参数使用方法
Nov 04 PHP
php加密解密实用类分享
Jan 07 PHP
php数据库备份还原类分享
Mar 20 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP递归统计系统中代码行数
Sep 19 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 #PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 #PHP
php实现用户在线时间统计详解
Oct 08 #PHP
php 文件缓存函数
Oct 08 #PHP
php数字转汉字代码(算法)
Oct 08 #PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 #PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 #PHP
You might like
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
php简单截取字符串代码示例
2016/10/19 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
基于datagrid框架的查询
2013/04/08 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
JS设置手机验证码60s等待实现代码
2017/06/14 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
python操作MongoDB基础知识
2013/11/01 Python
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
python调用c++传递数组的实例
2019/02/13 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
Python itertools.product方法代码实例
2020/03/27 Python
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
求职者应聘的自我评价
2013/10/16 职场文书
实用的简历自我评价
2014/03/06 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
安全承诺书
2015/01/19 职场文书
小学思想品德教学反思
2016/02/24 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
如何在python中实现ECDSA你知道吗
2021/11/23 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang