在开发动态网站时,时间格式化是一个非常重要的功能。为了提高用户体验,许多网站会采用“相对时间”的显示方式,例如“1分钟前”、“2天前”等。这种方式不仅直观,而且能够增强页面的交互感。本文将详细介绍如何通过PHP实现类似的时间格式化功能,并提供SEO友好的内容结构。
首先,我们需要定义一个函数来计算相对时间。以下是实现这一功能的核心代码:
function user_ago($tm, $rcs = 0) {
$cur_tm = time();
$dif = $cur_tm - $tm;
$pds = array('秒', '分钟', '小时', '天', '周', '个月', '年');
$lngh = array(1, 60, 3600, 86400, 604800, 2630880, 31570560);
for ($v = sizeof($lngh) - 1; ($v >= 0) && (($no = $dif / $lngh[$v]) <= 1); $v--);
if ($v < 0) $v = 0;
$_tm = $cur_tm - ($dif % $lngh[$v]);
$no = floor($no);
$x = sprintf("%d %s", $no, $pds[$v]);
if (($rcs == 1) && ($v >= 1) && (($cur_tm - $_tm) > 0)) {
$x .= user_ago($_tm);
}
return $x . "前";
}
这段代码的功能是将给定的时间戳与当前时间进行比较,并返回一个相对时间字符串。接下来,我们将该代码集成到您的项目中。
步骤如下:
1. 将上述代码复制到您的项目文件/e/class/userfun.php中。
2. 在内容页调用此函数,可以使用以下代码:
<?=user_ago($navinfor[newstime])?>
这行代码的作用是获取文章发布的时间戳,并将其转换为相对时间格式,例如“1星期前”。
如果需要在列表模板中使用,可以在list.var中添加以下代码:
$listtemp = "发布时间".user_ago($r[newstime])."";
这样,列表中的每篇文章都会显示其相对发布时间,如“2天前”或“3小时前”。
通过这种方式,您可以显著提升网站的时间展示效果,同时为用户提供更直观的时间信息。此外,这种优化也有助于搜索引擎更好地理解页面内容,从而提高SEO表现。
注意:为了确保代码正常运行,请确认您的服务器环境支持PHP,并且相关路径和变量名正确无误。
希望以上内容对您有所帮助!如果您有任何问题或需要进一步的帮助,请随时联系我。