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 高手之路(二)
Oct 09 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
php 面试碰到过的问题 在此做下记录
Jun 09 PHP
关于PHP session 存储方式的详细介绍
Jun 25 PHP
PHP中常用的转义函数
Feb 28 PHP
PHP跨平台获取服务器IP地址自定义函数分享
Dec 29 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
php操作redis命令及代码实例大全
Nov 19 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
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
基于jQuery的弹出框插件
2012/03/18 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
使用JQuery在线制作ppt并在线演示源码特效
2015/09/08 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python 时间处理datetime实例
2008/09/06 Python
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python实现保存网页到本地示例
2014/03/16 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
Python命令行click参数用法解析
2019/12/19 Python
浅析Python 多行匹配模式
2020/07/24 Python
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
会计电算化应届生自荐信
2014/02/25 职场文书
园林技术专业求职信
2014/07/28 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
新手必备Python开发环境搭建教程
2021/05/28 Python
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers