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 开源框架22个简单简介
Aug 24 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
thinkphp5实现微信扫码支付
Dec 23 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 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
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
JavaScript中的闭包
2016/02/24 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
图文详解WinPE下安装Python
2016/05/17 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
python读取图片任意范围区域
2019/01/23 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
城建学院毕业生自荐信
2014/01/31 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
承诺书范文
2014/06/03 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang