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 相关文章推荐
如何限制访问者的ip(PHPBB的代码)
Oct 09 PHP
常见的PHP五种设计模式小结
Mar 23 PHP
解析php中memcache的应用
Jun 18 PHP
php模拟ping命令(php exec函数的使用方法)
Oct 25 PHP
php生成EAN_13标准条形码实例
Nov 13 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
浅谈ThinkPHP中initialize和construct的区别
Apr 01 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
php去除deprecated的实例方法
Nov 17 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 已经成熟
2006/12/04 PHP
PHP 类型转换函数intval
2009/06/20 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php缓存技术详细总结
2013/08/07 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
javascript定时器完整实例
2015/02/10 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
详解JS预解析原理
2020/06/16 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
详解Python中的Cookie模块使用
2015/07/06 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
《明天,我们毕业》教学反思
2014/04/24 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
2014年应急工作总结
2014/12/11 职场文书
教师个人考察材料
2014/12/16 职场文书
签证工作证明模板
2015/06/15 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers