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 相关文章推荐
用PHP 快速生成 Flash 动画的方法
Mar 06 PHP
非常不错的MySQL优化的8条经验
Mar 24 PHP
php一些公用函数的集合
Mar 27 PHP
php2html php生成静态页函数
Dec 08 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
PHP生成唯一订单号
Jul 05 PHP
PHP文件缓存smarty模板应用实例分析
Feb 26 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
PDO::exec讲解
Jan 28 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 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
如何删除多级目录
2006/10/09 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
php权重计算方法代码分享
2014/01/09 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
Vue3.x源码调试的实现方法
2019/10/13 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
pandas object格式转float64格式的方法
2018/04/10 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
公司JAVA开发面试题
2015/04/02 面试题
GWT都有什么特性
2016/12/02 面试题
儿子婚宴答谢词
2014/01/09 职场文书
个性与发展自我评价
2014/02/11 职场文书
校园安全教育广播稿
2014/02/17 职场文书
林肯就职演讲稿
2014/05/19 职场文书
班级活动总结格式
2014/08/30 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书