我正在构建WordPress插件。我需要像推特一样展示时间——评论发表的时间等。有没有办法做到这一点?
假设1小时前有人的评论应该是可见的1 hour ago
而且应该精确到1 second ago
也
我正在构建WordPress插件。我需要像推特一样展示时间——评论发表的时间等。有没有办法做到这一点?
假设1小时前有人的评论应该是可见的1 hour ago
而且应该精确到1 second ago
也
是的,您可以使用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\\u time(“timestamp”)是否存在问题?我试图获取当前的\\u时间(“时间戳”),而不是给我current time: Jun 26 2013 14:30 它给了我:Jun 26 2013 21:30 我试着检查秒数,它给了我:1372282238 这对于给定的时间是正确的,但对于real current time. 发生了什么事?