php中将时间差转换为字符串提示的实现代码


Posted in PHP onAugust 08, 2011

如微博

这看起来更加人性化,好吧,上代码

<?php 
class timeAgo 
{ 
static $timeagoObject; 
private $rustle; 
private $unit; private function __construct() 
{ 
} 
private function __clone(){ } 
public static function getObject() 
{ 
if(! (self::$timeagoObject instanceof self) ) 
self::$timeagoObject = new timeAgo(); 
return self::$timeagoObject; 
} 
private function count_int($unix_C) // main function 
{ 
if(! (isset($unix_C) || is_numeric($unix_C)) ) 
return 'don\'t find parameter'; 
$d = time()-$unix_C ; // $d - unix time difference value 
$d_int =(int)floor($d/60) ; // minimum unit -- minutes unix/60 
$this->unit = 0 ; // is minutes,hour or day? 
if($d_int < 60){ // minutes in one hour 3600 
$this->rustle = $d_int; 
$this->unit = 1; 
} 
else if($d_int < 720){ //hour in one day 3600*12 
$this->rustle = floor($d_int/60); 
$this->unit = 2 ; 
} 
else if($d_int < 7200){ //day in ten days 3600*12*10 
$this->rustle = floor($d_int/720); 
$this->unit = 3 ; 
} 
else{ 
$this->rustle = $d ; 
$this->unit = 4 ; 
} 
} 
public function piece_str($C) 
{ 
$this->count_int($C); 
$u = ''; 
switch( $this->unit ) 
{ 
case 1: 
$u = 'minute'; 
break; 
case 2: 
$u = 'hour'; 
break; 
case 3: 
$u = 'day'; 
break; 
case 4: 
$u = ''; 
break; 
case 0: 
return 'sorry , get time is fail'; 
} 
if($this->unit < 4) 
{ 
if($this->rustle > 1) 
return (string)$this->rustle.$u.'s ago'; 
else if($this->rustle == 1) 
return (string)$this->rustle.$u.'ago'; 
else 
return 'Just now'; 
} 
} 
/* example: $ago = timeAgo::getObject(); 
* echo $ago->piece_str($unix); 
* // 2 days ago 
*/ 
} 
?>
PHP 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
Smarty+QUICKFORM小小演示
Feb 25 PHP
php自动适应范围的分页代码
Aug 05 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
Jan 20 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
PHP中的Streams详细介绍
Nov 12 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
兼容firefox,chrome的网页灰度效果
Aug 08 #PHP
用php解析html的实现代码
Aug 08 #PHP
php中设置多级目录session的问题
Aug 08 #PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 #PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 #PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 #PHP
php Smarty初体验二 获取配置信息
Aug 08 #PHP
You might like
第七节 类的静态成员 [7]
2006/10/09 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之网站的结构
2014/10/24 Python
Python中使用SAX解析xml实例
2014/11/21 Python
详解Python自建logging模块
2018/01/29 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
毕业生如何写自我鉴定
2014/03/15 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
2015年试用期工作总结
2014/12/12 职场文书
2015个人半年总结范文
2015/03/09 职场文书
离婚案件答辩状
2015/05/22 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers