要显示例如:几秒前,几分钟前,几天前等的功能,使用的TP5,写了个公共函数,代码如下:
数字没样式的代码:
/*文章发布多少时间前*/
function TimeRule($time)
{
$startdate = date('Y-m-d H:i:s',$time);//时间戳转日期(要是日期的话可以不用转)
$enddate = date('Y-m-d H:i:s');//当前日期
$date = floor((strtotime($enddate) - strtotime($startdate)) / 86400);
$hour = floor((strtotime($enddate) - strtotime($startdate)) % 86400 / 3600);
$minute = floor((strtotime($enddate) - strtotime($startdate)) % 86400 % 3600 / 60);
$second = floor((strtotime($enddate) - strtotime($startdate)) % 86400 % 60);
if ($date > 90)
{
return '很久前';
}
elseif ($date >= 30 && $date <= 90)
{
return floor($date / 30) . '个月前';
}
elseif ($date > 0 && $date < 30)
{
return $date . '天前';
}
elseif ($hour < 24 && $hour > 0)
{
return $hour . '小时前';
}
elseif ($minute < 60 && $minute > 0)
{
return $minute . '分钟前';
}
elseif ($second < 60 && $second > 0)
{
return $second . '秒前';
}
}
数字有样式代码:
/*文章发布多少时间前*/
function TimeRule($time)
{
$startdate = date('Y-m-d H:i:s',$time);//时间戳转日期(要是日期的话可以不用转)
$enddate = date('Y-m-d H:i:s');//当前日期
$date = floor((strtotime($enddate) - strtotime($startdate)) / 86400);
$hour = floor((strtotime($enddate) - strtotime($startdate)) % 86400 / 3600);
$minute = floor((strtotime($enddate) - strtotime($startdate)) % 86400 % 3600 / 60);
$second = floor((strtotime($enddate) - strtotime($startdate)) % 86400 % 60);
if ($date > 90)
{
return "<span style='color: red;'>很久之前</span>";
}
elseif ($date >= 30 && $date <= 90)
{
return "<p><span style='color: red;'>".floor($date / 30)."</span>个月前</p >";
}
elseif ($date > 0 && $date < 30)
{
return "<p><span style='color: red;'>".$date."</span>天前</p >";
}
elseif ($hour < 24 && $hour > 0)
{
return "<p><span style='color: red;'>".$hour."</span>小时前</p >";
}
elseif ($minute < 60 && $minute > 0)
{
return "<p><span style='color: red;'>".$minute."</span>分钟前</p >";
}
elseif ($second < 60 && $second > 0)
{
return "<p><span style='color: red;'>".$second."</span>秒前</p >";
}
}
数字样式效果图:

在控制器中调用公共函数:
public function timeShow()
{
$startdate = "2017-6-30 7:40:00";
$t = TimeRule($startdate);
echo $t;
}
在前台中调用公共函数:
//tp5.0
<td>{$v.add_time | TimeRule}</td>
传参 | 方法
//tp5.1 raw(tp5.1手册使用函数中有解释)
<td>{$v.add_time | TimeRule | raw}</td>
传参 | 方法 | raw 不使用(默认)转义
版权声明:本文为qq_44678350原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。