这篇文章主要介绍了php计算时间几分钟前、几小时前、几天前的几个函数、类分享,需要的朋友可以参考下
一、函数实现
实例1:
- <?php
 - header("Content-type: text/html; charset=utf8");
 - date_default_timezone_set("Asia/Shanghai"); //设置时区
 - function time_tran($the_time) {
 - $now_time = date("Y-m-d H:i:s", time());
 - //echo $now_time;
 - $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;
 - }
 - }
 - }
 - }
 - }
 - }
 - echo time_tran("2014-7-8 19:22:01");
 - ?>
 
实例2:
- <?php
 - function time_tranx($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;
 - }
 - }
 - }
 - }
 - }
 - }
 - echo time_tranx("2014-7-8 19:22:01");
 - ?>
 
实例3:
- <?php
 - function format_date($time){
 - $t=time()-$time;
 - <span style="white-space:pre"> </span>//echo 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.'前';
 - }
 - }
 - }
 - echo format_date("1404600000");
 - ?>
 
实例4:
- <?php
 - 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 '刚刚';
 - }
 - }
 - }
 - echo formatTime("2014-7-8 19:22:01");
 - ?>
 
二、类的实现
- <?php
 - /*
 - * author: china_skag
 - * time: 2014-07-08
 - * 发博时间计算(年,月,日,时,分,秒)
 - * $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', '当前');
 - *
 - */
 
	更多精彩内容:各种AI课程、技能课程、黑科技软件、网站小程序源码、副业小项目、PPT模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。