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一些有意思的小区别
Dec 06 PHP
IIS6的PHP最佳配置方法
Mar 19 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
php生成word并下载代码实例
Mar 15 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 PHP
php中错误处理操作实例分析
Aug 23 PHP
php操作redis数据库常见方法实例总结
Feb 20 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/10/09 PHP
php strtotime 函数UNIX时间戳
2009/01/14 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
js计算页面刷新的次数
2009/07/20 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
详解jQuery事件
2017/01/13 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
新手如何快速理解js异步编程
2019/06/24 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
教你用python实现12306余票查询
2021/06/30 Python
python解析照片拍摄时间进行图片整理
2022/07/23 Python