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 静态变量的初始化
Nov 15 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
php常见的魔术方法详解
Dec 25 PHP
php字符串函数学习之strstr()
Mar 27 PHP
PHP会话处理的10个函数
Aug 11 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
YII框架模块化处理操作示例
Apr 26 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 PHP
PHP全局使用Laravel辅助函数dd
Dec 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
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
用javascript实现画板的代码
2007/09/05 Javascript
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
详解js加减乘除精确计算
2019/03/19 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
实习护士自我鉴定
2013/10/13 职场文书
搬家公司的创业计划书
2014/01/01 职场文书
村委会主任先进事迹
2014/01/15 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL