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中的字符串函数
Nov 24 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
pdo中使用参数化查询sql
Aug 11 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
php设计模式之命令模式的应用详解
May 21 PHP
基于php iconv函数的使用详解
Jun 09 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
Yii2分页的使用及其扩展方法详解
May 23 PHP
如何使用PHP给图片加水印
Oct 12 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
Python模拟登陆实现代码
2017/06/14 Python
python 判断网络连通的实现方法
2018/04/22 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Django操作session 的方法
2020/03/09 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
Python创建自己的加密货币的示例
2021/03/01 Python
介绍下WebSphere的安全性
2013/01/31 面试题
元旦趣味活动方案
2014/08/22 职场文书
学习张林森心得体会
2014/09/10 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
病房管理制度范本
2015/08/06 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript