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 相关文章推荐
PHP4之COOKIE支持详解
Oct 09 PHP
php桌面中心(一) 创建数据库
Mar 11 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
php foreach、while性能比较
Oct 15 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
May 07 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
PHP 代码规范小结
Mar 08 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php 如何禁用eval() 函数实例详解
Dec 01 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
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
JS实现简单日历特效
2020/01/03 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
Python常用模块用法分析
2014/09/08 Python
python实现聊天小程序
2018/03/13 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
军校本科大学生自我评价
2014/01/14 职场文书
教师党员公开承诺书
2014/03/25 职场文书
2014年教师节寄语
2014/08/11 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书