php计算几分钟前、几小时前、几天前的几个函数、类分享


Posted in PHP onApril 09, 2014

一、函数实现
实例1:

function time_tran($the_time){
   $now_time = date("Y-m-d H:i:s",time()+8*60*60);
   $now_time = strtotime($now_time);
   $show_time = strtotime($the_time);
   $dur = $now_time - $show_time;
   if($dur < 0){
    return $the_time;
   }else{
    if($dur < 60){
     return $dur.'秒前';
    }else{
     if($dur < 3600){
      return floor($dur/60).'分钟前';
     }else{
      if($dur < 86400){
       return floor($dur/3600).'小时前';
      }else{
       if($dur < 259200){//3天内
        return floor($dur/86400).'天前';
       }else{
        return $the_time;
       }
      }
 }

实例2:
<?php
function format_date($time){
    $t=time()-$time;
    $f=array(
        '31536000'=>'年',
        '2592000'=>'个月',
        '604800'=>'星期',
        '86400'=>'天',
        '3600'=>'小时',
        '60'=>'分钟',
        '1'=>'秒'
    );
    foreach ($f as $k=>$v)    {
        if (0 !=$c=floor($t/(int)$k)) {
            return $c.$v.'前';
        }
    }
}
?>

实例3:

function formatTime($date) {
$str = '';
$timer = strtotime($date);
$diff = $_SERVER['REQUEST_TIME'] - $timer;
$day = floor($diff / 86400);
$free = $diff % 86400;
if($day > 0) {
return $day."天前";
}else{
if($free>0){
$hour = floor($free / 3600);
$free = $free % 3600;
if($hour>0){
return $hour."小时前";
}else{
if($free>0){
$min = floor($free / 60);
$free = $free % 60;
if($min>0){
return $min."分钟前";
}else{
if($free>0){
return $free."秒前";
}else{
return '刚刚';
}
}
}else{
return '刚刚';
}
}
}else{
return '刚刚';
}
}
}

实例4:

function time_tran($the_time){
$now_time = date("Y-m-d H:i:s",time()+8*60*60); 
$now_time = strtotime($now_time);
$show_time = strtotime($the_time);
$dur = $now_time - $show_time;
if($dur < 0){
return $the_time; 
}else{
if($dur < 60){
    return $dur.'秒前'; 
}else{
    if($dur < 3600){
   return floor($dur/60).'分钟前'; 
    }else{
   if($dur < 86400){
   return floor($dur/3600).'小时前'; 
   }else{
   if($dur < 259200){//3天内
       return floor($dur/86400).'天前';
   }else{
       return $the_time; 
   }
   }
    }
}
}
}

二、类的实现

<?php
/*
 * author: Solon Ring
 * time: 2011-11-02
 * 发博时间计算(年,月,日,时,分,秒)
 * $createtime 可以是当前时间
 * $gettime 你要传进来的时间
 */
class Mygettime{
        function  __construct($createtime,$gettime) {
            $this->createtime = $createtime;
            $this->gettime = $gettime;
    }
    function getSeconds()
    {
            return $this->createtime-$this->gettime;
        }
    function getMinutes()
       {
       return ($this->createtime-$this->gettime)/(60);
       }
      function getHours()
       {
       return ($this->createtime-$this->gettime)/(60*60);
       }
      function getDay()
       {
        return ($this->createtime-$this->gettime)/(60*60*24);
       }
      function getMonth()
       {
        return ($this->createtime-$this->gettime)/(60*60*24*30);
       }
       function getYear()
       {
        return ($this->createtime-$this->gettime)/(60*60*24*30*12);
       }
       function index()
       {
            if($this->getYear() > 1)
            {
                 if($this->getYear() > 2)
                    {
                        return date("Y-m-d",$this->gettime);
                        exit();
                    }
                return intval($this->getYear())." 年前";
                exit();
            }
             if($this->getMonth() > 1)
            {
                return intval($this->getMonth())." 月前";
                exit();
            }
             if($this->getDay() > 1)
            {
                return intval($this->getDay())." 天前";
                exit();
            }
             if($this->getHours() > 1)
            {
                return intval($this->getHours())." 小时前";
                exit();
            }
             if($this->getMinutes() > 1)
            {
                return intval($this->getMinutes())." 分钟前";
                exit();
            }
           if($this->getSeconds() > 1)
            {
                return intval($this->getSeconds()-1)." 秒前";
                exit();
            }
       }
  }
//类的使用实例
/*
 *
 * 调用类输出方式
 *
 * $a = new Mygettime(time(),strtotime('-25 month'));
 * echo iconv('utf-8', 'gb2312', $a->index())?iconv('utf-8', 'gb2312', $a->index()):iconv('utf-8', 'gb2312', '当前');
 *
 */
PHP 相关文章推荐
php empty函数 使用说明
Aug 10 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 #PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 #PHP
PHP读取大文件的类SplFileObject使用介绍
Apr 09 #PHP
php解决约瑟夫环示例
Apr 09 #PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 #PHP
PHP父类调用子类方法的代码例子
Apr 09 #PHP
一个基于phpQuery的php通用采集类分享
Apr 09 #PHP
You might like
PHP实现变色验证码实例
2014/01/06 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
Yii清理缓存的方法
2016/01/06 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
Vue infinite update loop的问题解决
2019/04/23 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
python显示生日是星期几的方法
2015/05/27 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Django框架 信号调度原理解析
2019/09/04 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
意向书范文
2014/03/31 职场文书
商业融资计划书
2014/04/29 职场文书
2014年稽查工作总结
2014/12/20 职场文书
2016年寒假生活小结
2015/10/10 职场文书