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 相关文章推荐
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
php下载文件源代码(强制任意文件格式下载)
May 09 PHP
php遍历数组的4种方法总结
Jul 05 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
CI框架中site_url()和base_url()的区别
Jan 07 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
mysql limit查询优化分析
2008/11/12 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
PHP函数积累总结
2019/03/19 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
英国在线自行车商店:Evans Cycles
2016/09/26 全球购物
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
小学敬老月活动方案
2014/02/11 职场文书
家长学校实施方案
2014/03/15 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
学习张林森心得体会
2014/09/10 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
旷课检讨书范文
2014/10/30 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
2015学校年度工作总结
2015/05/11 职场文书
圆明园观后感
2015/06/03 职场文书
世界名著读书笔记
2015/06/25 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python