Heim >php教程 >PHP源码 >php计算多长时间前发的内容2个函数

php计算多长时间前发的内容2个函数

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-08 17:21:161106Durchsuche

下面整理了两个用来计算用户发内容的时间,这里以分钟超,然后就是天数了,两个例子中,例子1只以计算昨天然后就是直接显示日期了,而后一个例子可以计算多少天前,并且文章最后对时区进行了介绍,告诉你在设置时间前一定要把php.ini时区设置好才行。

<script>ec(2);</script>

例子,

多长时间前的时间函数,论坛,博客常用

 代码如下 复制代码

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

echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15
echo timeFromNow(strtotime("2012-07-08 14:15:13")); //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     return $the_time;
   }else{
    if($dur return $dur.'秒前';
    }else{
if($dur  return floor($dur/60).'分钟前';
}else{
 if($dur   return floor($dur/3600).'小时前';
 }else{
  if($dur    return floor($dur/86400).'天前';
  }else{
   return $the_time;
  }
 }
}

最后补充时区

在 php.ini 中,默认是 date.timezone = UTC。修改为中国时区,修改为 date.timezone = PRC。如果直接写 GMT 格式的,是 date.timezone = Etc/GMT+8。
另外,也可以在 PHP 页面头中设置。
date_default_timezone_set('PRC');
测试:
echo date('Y-m-d H:i:s');

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn