Archive for January 23, 2009

Twitter Updates for 2009-01-23

Comments

Twitter Tools和PHP里的时间

最近在WordPress里用了个插件Twitter Tools,主要是可以从Blog的Sidebar上发Tweet,然后按天或周为单位,把Tweet取回来自动生成Post。长篇大论的Blog越来越不爱写了,一句话的MicroBlog,想到什么说什么,纯粹的无意识流,最后还自动总结成一篇Daily(Weekly) Digest Post,看看最近自己都干了些什么,挺不错的。

在Digest Post里面,每句话最后有个#,是到Twitter的链接。我想把这个#改成Tweet发布的时间,比如15:23:45,这样,时间流看着比较清晰。Twitter里的时间是GMT标准时间,放到WordPress的MySQL DB里是datetime型,被Twitter Tools读出来后是string型(Y-m-d H:i:s),要用mktime转换成PHP的timestamp,然后加上Time Zone的时差(在WordPress的Setting的General里设置),再用date来输出成(Y-m-d H:i:s)格式,最后取出时间部分(H:i:s)。

注意计算时间用mktime不要用gmmktime,也不要用WordPress给的get_date_from_gmt。Dreamhost的server在美国,时区是GMT-8,我的Blog时区是GMT+9,get_date_from_gmt会算不清的。呵呵。

Source修改如下(twitter-tools.php的805行):
//$time_display = '#';
$time_display = '#'.substr( date( 'Y-m-d H:i:s', mktime(
substr($tweet->tw_created_at, 11, 2),
substr($tweet->tw_created_at, 14, 2),
substr($tweet->tw_created_at, 17, 2),
substr($tweet->tw_created_at, 5, 2),
substr($tweet->tw_created_at, 8, 2),
substr($tweet->tw_created_at, 0, 4)
) + get_option('gmt_offset')*3600 ), 11, 8).'#';

Comments