计算比较WordPress评论和当前时间所用的时间

时间:2015-11-22 作者:Mayeenul Islam

我正在构建WordPress插件。我需要像推特一样展示时间——评论发表的时间等。有没有办法做到这一点?

假设1小时前有人的评论应该是可见的1 hour ago 而且应该精确到1 second ago

1 个回复
最合适的回答,由SO网友:Mayeenul Islam 整理而成

是的,您可以使用PHP实现这一点。

这是a function 来自@arnorhs:

$time = strtotime(\'2010-04-28 17:25:43\');

echo \'event happened \'.humanTiming($time).\' ago\';

function humanTiming ($time)
{

    $time = time() - $time; // to get the time since that moment
    $time = ($time<1)? 1 : $time;
    $tokens = array (
        31536000 => \'year\',
        2592000 => \'month\',
        604800 => \'week\',
        86400 => \'day\',
        3600 => \'hour\',
        60 => \'minute\',
        1 => \'second\'
    );

    foreach ($tokens as $unit => $text) {
        if ($time < $unit) continue;
        $numberOfUnits = floor($time / $unit);
        return $numberOfUnits.\' \'.$text.(($numberOfUnits>1)?\'s\':\'\');
    }

}
WordPress的方式实际上有很多。但WordPress自1.5.0版以来就有一个内置功能,这对于WordPress插件的开发非常方便:

<?php human_time_diff( $from, $to ); ?>
从现在开始显示注释的运行时间很简单,如下所示:

echo human_time_diff( get_comment_time( \'U\' ), current_time( \'timestamp\' ) ) .\' ago\';
参考号:ulhuman_time_diff() - WordPress法典

相关推荐

CURRENT_TIME(‘Timestamp’)似乎与实际当前时间不同

current\\u time(“timestamp”)是否存在问题?我试图获取当前的\\u时间(“时间戳”),而不是给我current time: Jun 26 2013 14:30 它给了我:Jun 26 2013 21:30 我试着检查秒数,它给了我:1372282238 这对于给定的时间是正确的,但对于real current time. 发生了什么事?