我需要显示特定文章或节点的评论发布时间。我需要以"时间"为格式的评论的发布时间。
例如:1分钟前
有没有任何方法可以在drupal 7中实现Time ago格式的注释显示。
我想我记得D7中可能有一个本机函数可以做到这一点,但还没有找到。所以与此同时,你可以在模板中拥有这个函数:
function ago($timestamp){
$difference = time() - $timestamp;
$periods = array("second", "minute", "hour", "day", "week", "month", "years", "decade");
$lengths = array("60","60","24","7","4.35","12","10");
for($j = 0; $difference >= $lengths[$j]; $j++)
$difference /= $lengths[$j];
$difference = round($difference);
if($difference != 1) $periods[$j].= "s";
$text = "$difference $periods[$j] ago";
return $text;
}
然后,当您需要打印"自时间"类型的日期时,例如自用户登录以来的时间:
global $user;
echo "Last login: ".ago($user->login);
希望有帮助,祝你好运。
PS-考虑在drupal.stackeexchange.com上发布即将发布的问题,你的帖子将针对那里许多很棒的drupal开发者。祝你好运,编码快乐。
更新-Drupal中有一个本机函数用于格式化日期间隔,它被称为format_interval。
用法示例:
// Date since forum post was created
format_interval(REQUEST_TIME - $variables['topic']->created)
像这样简单多了。