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

 这篇文章主要介绍了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', '当前');
 *
 */

时间: 2024-08-18 02:48:22

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

PHP时间戳函数(几分钟、几小时前、几天前等)

1.PHP时间戳函数将日期转化为unix时间戳 世界末日时间戳 PHP  代码如下 复制代码 echo "世界末日时间戳为:".strtotime("2012-12-21") 2.将时间戳转化为系统时间  代码如下 复制代码 date('Y-m-d H:i:s',"1228348800"); 3.PHP时间戳函数获取英文文本日期时间 示例如下: 便于比较,使用date将当时间戳与指定时间戳转换成系统时间 (1)打印明天此时的时间戳strtotim

《21世纪机器人》——货物搬运工晨明号:重启前1小时

货物搬运工晨明号:重启前1小时 "看那些小家伙跑起来了." 当晨明号从第5晶圆厂慢慢推出的时候兰德尔说.这是因为余甜给清洗系统下发了命令.小机器人们一拥而上,开始打扫庞大的码头,清理各种污染物. "等一下."余甜说道. 兰德尔放开了晨明号的推进器,于是货船漂浮在离第5晶圆厂几十米的地方. "帮我一起看一下."余甜对登上晨明号的技术人员说道.于是货舱前四分之一变成了一个临时指挥所.在这里,他们可以监视第5晶圆厂的状况,确保它回到有序的状态. 屏幕上

《21世纪机器人》一一2.7 货物搬运工晨明号:重启前1小时

2.7 货物搬运工晨明号:重启前1小时 "看那些小家伙跑起来了." 当晨明号从第5晶圆厂慢慢推出的时候兰德尔说.这是因为余甜给清洗系统下发了命令.小机器人们一拥而上,开始打扫庞大的码头,清理各种污染物. "等一下."余甜说道. 兰德尔放开了晨明号的推进器,于是货船漂浮在离第5晶圆厂几十米的地方. "帮我一起看一下."余甜对登上晨明号的技术人员说道.于是货舱前四分之一变成了一个临时指挥所.在这里,他们可以监视第5晶圆厂的状况,确保它回到有序的状态.

女婴高烧40度住院4天死亡死前4小时无护理记录

家属质疑:为何属"一级护理"病人,死前4小时却没有护理记录院方回应:建议家属做医疗鉴定刚满周岁的林小轩(化名),在住院四天后,死了.因为发烧怀疑是患了麻疹,她于9月6日到福州市传染病医院住院治疗.住院的前三天,她的病情还算稳定,直到9月10日凌晨,一场恶梦开始.谁也不知道,从开始发烧到生命结束的短短6个多小时,小轩小小的身体,经受了怎样的痛苦.小轩的爸爸林有民称,在孩子死亡前的几个小时里,医护人员都没有到场了解孩子的病情.他也多次在孩子发烧后,寻求医生和护士的帮助,但他们并未及时出现.

请帮忙写一条SQL语句查询前一小时信息

问题描述 请帮忙写一条SQL语句查询前一小时信息 MSSQLServer,有个字段DateTime:2015-03-09 16:08:51.617 我想查询前一小时的信息,因为我公司是45分下班的,所以前一小时应该是14:45:00~14:45:00. 请问如何写一条语句可以查到当前小时的前一小时的信息呢?谢谢帮忙. 解决方案 select * from table where DATEDIFF('h',DateTime,now())>1 and DATEDIFF('h',DateTime,no

《21世纪机器人》——驾驶舱里,晨明号货运机:重启前30小时

驾驶舱里,晨明号货运机:重启前30小时 "这是个奇怪的小地方."飞行员兰德尔说.他们正在飞往DeutchConn第5晶圆厂."每年我大概带三个人离开这里,路上的时间不算长,来回几个小时.不过,货运无人机一直都在来来回回地运东西.我发誓,没有人知道他们在这里做什么." "只是芯片而已."埃杰顿声音低沉地回答道.他把视频暂停了,定格在HCI测试机器人自焚前一刻.安全反馈(系统)本应该记录了机器人的内部状态,但是在几个月前出故障了,没有人认识到故障的严

《21世纪机器人》——DeutchConn 第5晶圆厂,装载码头:重启前19小时

DeutchConn 第5晶圆厂,装载码头:重启前19小时 "你找出机器人自杀的原因了吗?"当他们看着运输机载着新到的机器人到达站台时,余甜问道. "你怎么知道机器人是自杀的?"埃杰顿说. "我的一位雇员告诉我的,"余甜回答道,"他告诉我你说机器人是自杀的,他认为那不可能." "确实."庞大的运输机和更为庞大的站台缓缓接近,仿佛在跳精美的芭蕾一样,埃杰顿赞叹不已.他看着它们如同两个巨大的机器人,缓慢地将对方

《21世纪机器人》——DeutchConn第5晶圆厂,装载码头:重启前5小时

DeutchConn第5晶圆厂,装载码头:重启前5小时 吉米小巧的身体站在巨大的装载码头上,看起来与环境格格不入.兰德尔和他的航天飞机-晨明号已经完成了一次月球与地球间的快速旅程,他们去接余甜的一个分包商. "呦,博士,这个小朋友是谁?"兰德尔问道. "他是吉米,"埃杰顿回答,"吉米,这是兰德尔,他是我们的飞行员,打个招呼." "你好,兰德尔."吉米走到飞行员的旁边,说道. "看看!他真是一个可爱的小家伙,"

Oracle通过时间(分钟)计算有几天几小时几分钟的方法_oracle

本文实例讲述了Oracle通过时间(分钟)计算有几天几小时几分钟的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: SELECT TRUNC(2013 / 24 / 60, 0) || '天' ||         trunc((2013 - 60 * 24 * TRUNC(2013 / 24 / 60, 0)) / 60, 0) || '小时' ||         trunc(2013 - 60 * 24 * TRUNC(2013 / 24 / 60, 0) -