2012-03-19 36 views

回答

0

我想我还记得有可能是一个天然的函数,它这个时间前格式显示在Drupal的评论显示在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.stackexchange.com上发布即将发布的问题,您的帖子将针对许多真棒的Drupal开发者。祝你好运,快乐的编码。

更新 - 在Drupal中有一个本地函数来格式化日期间隔,它被称为format_interval

用例:

// Date since forum post was created 
format_interval(REQUEST_TIME - $variables['topic']->created) 

简单多了这个样子。