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 相关文章推荐
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
php设置页面超时时间解决方法
Sep 22 PHP
PHP生成和获取XML格式数据的方法
Mar 04 PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 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
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
拖拉表格的JS函数
2008/11/20 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
js document.write()使用介绍
2014/02/21 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
零基础学Python(一)Python环境安装
2014/08/20 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
eclipse创建python项目步骤详解
2019/05/10 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
快速查找Python安装路径方法
2020/02/06 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
校领导推荐信
2013/11/01 职场文书
讲解员培训方案
2014/05/04 职场文书
2015年领班工作总结
2015/04/29 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL