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的范围解析操作符(::)的含义分析说明
Jul 03 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
关于php循环跳出的问题
Jul 01 PHP
利用PHP实现短域名互转
Jul 05 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
php while循环控制的简单实例
May 30 PHP
php图像验证码生成代码
Jun 08 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
php解析非标准json、非规范json的方式实例
Dec 10 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 array_unique之后json_encode需要注意
2011/01/02 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
PHP进程同步代码实例
2015/02/12 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
FireFox中textNode分片的问题
2007/04/10 Javascript
jquery $.ajax入门应用一
2008/11/19 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
详解angular element()方法使用
2017/04/08 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
Python创建临时文件和文件夹
2020/08/05 Python
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
会计出纳员的自我评价
2014/01/15 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
小英雄雨来观后感
2015/06/09 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python