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 相关文章推荐
MVC模式的PHP实现
Oct 09 PHP
封装一个PDO数据库操作类代码
Sep 09 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
php生成高清缩略图实例详解
Dec 07 PHP
Zend Framework入门知识点小结
Mar 19 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
Yii实现显示静态页的方法
Apr 25 PHP
降低PHP Redis内存占用
Mar 23 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
php图像验证码生成代码
Jun 08 PHP
php-app开发接口加密详解
Apr 18 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP学习笔记之数组篇
2011/06/28 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php常用正则函数实例小结
2016/12/29 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
jquery 事件执行检测代码
2009/12/09 Javascript
javascript 面向对象的JavaScript类
2010/05/04 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
angularJS 入门基础
2015/02/09 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
微信小程序实现单选功能
2018/10/30 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
Python如何进行时间处理
2020/08/06 Python
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
办公室前台岗位职责范本
2013/12/10 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
个人年终总结结尾
2015/03/06 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
元旦晚会开场白
2015/05/29 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
goland 清除所有的默认设置操作
2021/04/28 Golang