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

作者:袖梨 2022-06-24

例子,

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

 代码如下 复制代码

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

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 < 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.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');

相关文章

精彩推荐