Scuttle 0.7.2 でブックマーク時刻が18時間前になっている
scuttle.cre.jpの出力しているRSSを見て気がついたのですが、Scuttleの出力する時刻がおかしいですね。タイムゾーンだろうか。
2007-04-28の6:03ごろに登録したものが
Fri, 27 Apr 2007 12:03:49 +0000
と18時間遅い。9時間ならタイムゾーンのずれなんだけど、二重にタイムゾーンのずれが入っているところをみると、タイムゾーンの扱いがダメなのかな。
templates/rss.tpl.php をみると echo $bookmark['pubdate']; のように呼び出されています。
pubdate は rss.php で
$_pubdate = gmdate("r", strtotime($row['bDatetime']));
とデータベースから取得され、格納されている。特に加工はしていないので、格納時の問題か。
はてさて。MySQLのテーブルを覗くと Fri, 27 Apr 2007 12:03:49 +0000 と表示されていたやつは 2007-04-27 21:13:58 と格納されています。格納されている bDatetime はGMTで正しく入っているわけです。ということは、strtotime関数で文字列をtime_tに変換しているところで、「これはローカル時間だろう」と、さらに-9時間してしまっているわけですかね。そのあとRFC 2822形式に変換するときにはgmdate使ってるので問題はない……と思う。
if (is_null($date))
$time = time();
else
$time = strtotime($date);
$datetime = gmdate('Y-m-d H:i:s', $time);
// Set up the SQL insert statement and execute it.
$values = array('uId' => intval($sId),
'bIp' => $ip,
'bDatetime' => $datetime,
'bModified' => $datetime,
'bTitle' => $title,
'bAddress' => $address,
'bDescription' => $description,
'bStatus' => intval($status),
'bHash' => md5($address));
と格納している。うーん。せめてGMT/UTCと明記するべく+0:00くらいつけてデータベースに格納するべきできないのだろうか。
この記事へのトラックバックURL:
Scuttle 0.7.2 でブックマーク時刻が18時間前になっている問題への対処として、試しにScuttleをレポジトリにある最新版に更新してみました。
最近のコメント
1日 2時間前
2週 4日前
2週 4日前
3週 11時間前
4週 3日前
5週 5日前
6週 5日前
8週 13時間前
8週 14時間前
8週 4日前