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 相关文章推荐
PHPMyAdmin 快速配置方法
May 11 PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 PHP
调整PHP的性能
Oct 30 PHP
php实现天干地支计算器示例
Mar 14 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
Sep 27 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
PHP 正则表达式小结
Feb 12 PHP
浅谈php的优缺点
Jul 14 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
使用PHPMailer发送邮件实例
Feb 15 PHP
php判断电子邮件是否正确方法
Dec 04 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时间戳使用实例代码
2008/06/07 PHP
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
JS验证不重复验证码
2017/02/10 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
在Python中执行系统命令的方法示例详解
2017/09/14 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
一文读懂Python 枚举
2020/08/25 Python
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
英文版餐饮业求职信
2013/10/18 职场文书
骨干教师培训制度
2014/01/13 职场文书
五一手机促销方案
2014/03/08 职场文书
创先争优标语
2014/06/27 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
歌剧魅影观后感
2015/06/05 职场文书
公司酒会主持词
2015/07/02 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
Python函数中的不定长参数相关知识总结
2021/06/24 Python