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网站基础优化方法小结
Sep 29 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
PHP获取windows登录用户名的方法
Jun 24 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
php similar_text()函数的定义和用法
May 12 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
thinkphp项目如何自定义微信分享描述内容
Feb 20 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 PHP
Windows服务器中PHP如何安装redis扩展
Sep 27 PHP
PHP实现简易图形计算器
Aug 28 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数据库的基本类代码
2014/02/25 PHP
php实现无限级分类
2014/12/24 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
Django内容增加富文本功能的实例
2017/10/17 Python
解决Python中回文数和质数的问题
2019/11/24 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
爱情检讨书大全
2014/01/21 职场文书
《太阳》教学反思
2014/02/21 职场文书
体育比赛口号
2014/06/09 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
python神经网络编程之手写数字识别
2021/05/08 Python