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 采集书并合成txt格式的实现代码
Mar 01 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
destoon二次开发入门示例
Jun 20 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 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位运算的简单权限设计
2013/06/30 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
php 问卷调查结果统计
2015/10/08 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
jQuery each()小议
2010/03/18 Javascript
Javascript中的isNaN函数使用说明
2011/11/10 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
bootstrap table实例详解
2017/01/06 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
Python创建日历实例
2014/08/21 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
浅析python中的del用法
2020/09/02 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
Reformation官网:美国女装品牌
2018/09/14 全球购物
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
中学教师自我鉴定
2014/02/07 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
人工作失职检讨书
2015/05/05 职场文书
大学生党课感想
2015/08/11 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS