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 相关文章推荐
在数据量大(超过10万)的情况下
Jan 15 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
PHP的password_hash()使用实例
Mar 17 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
2017/03/10 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
深入解析神经网络从原理到实现
2019/07/26 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
python定时任务 sched模块用法实例
2019/11/04 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
python基于event实现线程间通信控制
2020/01/13 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
2019史上最全Database工程师题库
2015/12/06 面试题
Java语言程序设计测试题选择题部分
2014/04/03 面试题
中层竞聘演讲稿
2014/01/09 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
淘宝好评语句大全
2014/12/31 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python
SpringBoot生成License的实现示例
2021/06/16 Java/Android
MySQL8.0的WITH查询详情
2021/08/30 MySQL
Python中npy和mat文件的保存与读取
2022/04/24 Python