php计算多久前发的剧情2个函数,php总结几分钟前

作者: 金沙澳门官网  发布:2019-09-26

例子,

一、函数完结
实例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;
       }
      }
 }

function timeFromNow($dateline) {
    if(empty($dateline)) return false;
    $seconds = time() - $dateline;
    if ($seconds < 60){
   return "1分钟前";
    }elseif($seconds < 3600){
   return floor($seconds/60)."分钟前";
    }elseif($seconds  < 24*3600){
   return floor($seconds/3600)."小时前";
    }elseif($seconds < 48*3600){
   return date("昨天 H:i", $dateline)."";
    }else{
   return date('Y-m-d', $dateline);
    }
}

实例2:

echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15
echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前

复制代码 代码如下:

注:这里没有设想到时区。

<?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 '刚刚';
}
}
}

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;
  }
 }
}

实例4:

末段补充时区

复制代码 代码如下:

在 php.ini 中,暗中认可是 date.timezone = UTC。修改为中华时区,修改为 date.timezone = PRC。假若直接写 创新霉素T 格式的,是 date.timezone = Etc/维生霉素T+8。
另外,也能够在 PHP 页面头中装置。
date_default_timezone_set('PRC');
测试:
echo date('Y-m-d H:i:s');

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浮点数准确运算
  • PHP精确总括成效示例
  • php学习之简明总计器完毕代码
  • PHP中总结字符串相似度的函数代码
  • PHP中浮点数计算相比及取整不规范的消除方法
  • 在php和MySql中总计时间差的措施
  • PHP使用数组实现矩阵数学生运动算的方式现身说法
  • PHP数学生运动算与数量管理实例解析
  • php常用数学函数汇总
  • PHP高准确度运算BC函数库实例详解

本文由金沙澳门官网送注册58发布于金沙澳门官网,转载请注明出处:php计算多久前发的剧情2个函数,php总结几分钟前

关键词: