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学习之 循环结构实现代码
Jun 09 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
PHP语法小结之基础和变量
Nov 22 PHP
PHP微信支付实例解析
Jul 22 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
关于PHP中interface的用处详解
Jul 26 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+javascript的日历控件
2009/11/19 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php程序内部post数据的方法
2015/03/31 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
PHP制作用户注册系统
2015/10/23 PHP
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
Python语言描述KNN算法与Kd树
2017/12/13 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
Python和Bash结合在一起的方法
2020/11/13 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
2014年幼儿园小班工作总结
2014/12/04 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript