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

2015-01-24信息快讯网

这篇文章主要介绍了php计算时间几分钟前、几小时前、几天前的几个函数、类分享,需要的朋友可以参考下

一、函数实现
实例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', '当前'); * */

smarty半小时快速上手入门教程
PHP利用MySQL保存session的实现思路及示例代码
字符串长度函数strlen和mb_strlen的区别示例介绍
thinkphp在模型中自动完成session赋值示例代码
PHP使用Mysql事务实例解析
PHP闭包实例解析
PHP数组排序之sort、asort与ksort用法实例
Laravel框架中扩展函数、扩展自定义类的方法
重新认识php array_merge函数
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
PHP中feof()函数实例测试
本地计算机无法启动Apache故障处理
PHP中设置一个严格30分钟过期Session面试题的4种答案
PHP计算一年多少个星期和每周的开始和结束日期
php计算两个日期时间差(返回年、月、日)
php计算程序运行时间的简单例子分享
php计算当前程序执行时间示例
PHP二维数组排序的3种方法和自定义函数分享
PHP扩展模块Pecl、Pear以及Perl的区别
排序算法之PHP版快速排序、冒泡排序
PHP读取大文件的类SplFileObject使用介绍
php解决约瑟夫环示例
适用于抽奖程序、随机广告的PHP概率算法实例
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
PHP包含文件函数include、include_once、require、require_once区别总结
用PHP来计算某个目录大小的方法
php页码形式分页函数支持静态化地址及ajax分页
php动态生成函数示例
php5.3 goto函数介绍和示例
php实现天干地支计算器示例
php计算数组不为空元素个数的方法
php根据身份证号码计算年龄的实例代码
php权重计算方法代码分享
php 删除目录下N分钟前创建的所有文件的实现代码
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
linux下删除7天前日志的代码(php+shell)
©2014-2024 dbsqp.com