WordPress日志评论微博时间显示方式

前段时间搞了日志与评论的时候以XX小时分钟以前来显示,而后来查到wordpress有自带的human_time_diff()函数可以实现这个功能,所以我就试了一下,但是因为一些基本时区的概念还是要清楚一下。

GMT
GMT 是 Greenwich Mean Time 的缩写,译为中文为“格林威治标准时间”或“格林尼治标准时间”,直译的话,可译为“格林威治平时”或“格林尼治平时”。这里的格林威治位于英国伦敦东南方向的泰晤士河畔,美国也有个格林威治镇,不过与时间没关系。

UTC
UTC 是 Coordinated Universal Time 的缩写,译为中文为“世界标准时间”,直译的话,可译为“协调通用时间”或“协调世界时间”。目前来说也就是指 GMT 时间。为什么说目前就是指 GMT 时间呢?因为本初子午线(子午线即经线,本初子午线即 0 度经线)其实穿过的是沙特阿拉伯西边的麦加,而不是英国的格林威治。当时英国皇家学会暂时确定格林威治为本初子午线的穿过点﹐加之英国正是兴旺发达时期,全世界就将错就错,用到现在。说不定哪天改为麦加时间为标准时间也不是没有可能。所以我们一般使用 UTC,而不是 GMT。

当然还有一些其它的时区,但是这里只涉及到这两个,先了解一下。
下面是我用的XX分钟,XX小时以前的函数,放到function.php里,然后在需要调用的方法调用就可以了。

[php]
/*微博式显示方式 XX分钟前* http://www.qukanxia.com/
function time_diff( $time_type ){
switch( $time_type ){
case ‘comment’:    //如果是评论的时间
$time_diff = current_time(‘timestamp’) – get_comment_time(‘U’);
if($time_diff <= 300){
echo (‘刚刚’);
}else{
if( $time_diff >= 300 && $time_diff <= 172800 ){  //七天之内
echo human_time_diff(get_comment_time(‘U’), current_time(‘timestamp’)).’之前’;    //显示格式 OOXX 之前
}else{
printf(__(‘%1$s at %2$s’), get_comment_date(),get_comment_time());    //显示格式 X年X月X日 OOXX 时
}
}
break;
case ‘post’;    //如果是日志的时间
$time_diff = current_time(‘timestamp’) – get_the_time(‘U’);
if($time_diff <= 300){
echo (‘刚刚’);
}else{
if( $time_diff >= 300 && $time_diff <= 172800 ){  //七天之内
echo human_time_diff(get_the_time(‘U’), current_time(‘timestamp’)).’之前’;    //显示格式 OOXX 之前
}else{
the_time(‘D.Y.m.d’);    //显示格式 XX.XX.XX
}
}
break;
}
}
//END———————————–
[/php]

如果是日志可以用下面方式调用:

[php]
<?php time_diff( $time_type = ‘post’ ); ?>
[/php]

如果是评论也可以用下面的方式调用:

[php]
<?php time_diff( $time_type = ‘comment’ ); ?>
[/php]

最近我开始使用denglu的wordpress连接微博,后发现时间显示不对了,于是跟灯鹭denglu的水脉烟香联系了一下,马上解决了这个问题,赞一下!
下面是解决方案,只是简单的改动了一个字母:

[php]
/*微博式显示方式 XX分钟前* http://www.qukanxia.com/
function time_diff( $time_type ){
switch( $time_type ){
case ‘comment’:    //如果是评论的时间
$time_diff = current_time(‘timestamp’) – get_comment_time(‘G’);
if($time_diff <= 300){
echo (‘刚刚’);
}else{
if( $time_diff >= 300 && $time_diff <= 172800 ){  //七天之内
echo human_time_diff(get_comment_time(‘G’), current_time(‘timestamp’)).’之前’;    //显示格式 OOXX 之前
}else{
printf(__(‘%1$s at %2$s’), get_comment_date(),get_comment_time());    //显示格式 X年X月X日 OOXX 时
}
}
break;
case ‘post’;    //如果是日志的时间
$time_diff = current_time(‘timestamp’) – get_the_time(‘G’);
if($time_diff <= 300){
echo (‘刚刚’);
}else{
if( $time_diff >= 300 && $time_diff <= 172800 ){  //七天之内
echo human_time_diff(get_the_time(‘G’), current_time(‘timestamp’)).’之前’;    //显示格式 OOXX 之前
}else{
the_time(‘D.Y.m.d’);    //显示格式 XX.XX.XX
}
}
break;
}
}
//END———————————–
[/php]

OK。搞定,现在就可以按照微博方式的时间显示了,还是不错的!哈哈!



无觅相关文章插件,快速提升流量