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
Nov 25 PHP
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
PHP读取XML格式文件的方法总结
Feb 27 PHP
php PDO判断连接是否可用的实现方法
Apr 03 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实现过滤字符串中的中文和数字实例
2015/07/29 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
php构造函数与析构函数
2016/04/23 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
js传值 判断
2006/10/26 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
五型班组建设方案
2014/02/10 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
法人授权委托书范本
2014/04/04 职场文书
《锄禾》教学反思
2014/04/08 职场文书
党员检讨书
2014/10/13 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
python中 .npy文件的读写操作实例
2022/04/14 Python