twitterMobileのこと

なんか、今朝になってからtwitterMobileの日付表示がおかしかったので、いろいろ調べていたら、timeline.datに保存されている日付が、
"Wed 20 Jun 06:23:31 +0000 2007",
"Tue Jun 19 01:25:48 +0000 2007",
こんな感じで、月と日の順番が逆になっていることが判明した。
どうも、変わったのはGMTで日が変わってから、つまり今日の9時かららしい。

で、twitterMobileのindex.phpを眺めたら、548行目で、
$arr_value[$i]['date'] = preg_replace('/^(\w+) (\w+) (\d+) ([\d:]+) (\+0000) (\d+)$/i', '$1, $3 $2 $6 $5 $4', $arr_value[$i]['date']);

こんな感じでstrtotimeで読み取れるように正規表現を使った変換を行っている。
日付が3つめにくるとわかっているから狭めに\dで決めうちしたのが仇になっちゃったわけだ。

とりあえず、この\dを
$arr_value[$i]['date'] = preg_replace('/^(\w+) (\w+) (\w+) ([\d:]+) (\+0000) (\d+)$/i', '$1, $3 $2 $6 $5 $4', $arr_value[$i]['date']);
と言う感じで\wに変えてやれば、きちんと変換出来るようになった。

というか、strtotimeは曜日の後の,があるかないかが重要で、それ以外の順番はそれほど重要じゃないのだろう*1

とりあえず、作者にトラックバック送りたいのだけど、
http://miniturbo.org/memo/2007/04/04/175030
トラックバック閉じちゃってるみたい……。あとでコメントでも書くか。
あと、ここでリンク張ってある、
http://miniturbo.org/product/webservice/twitter/
のフィードバック用コメント欄って、ブログの統合で消えちゃってるんだよね。(今は1つ上のアドレスで受け付けてるみたい)

*1:認識が間違ってるかもしれない