Twitter の Streaming API における日時表現の解析について
目的
DateTime が便利なので、DateTime::Format::* で、Streaming API で流れてくる、こういう表記 "Fri Jan 22 13:52:17 +0000 2010" を上手くパースしたい。この表記方法は、古き良き時代を感じさせるC言語の ctime() に由来するものであるとのこと。日付の表記に関するノート
現状
DateTime::Format::HTTP, DateTime::Format::Mail は失敗。ただし、+0000をUTCとかGMTに置換すればDateTime::Format::HTTPでOK
DateTime::Format::DateParse は成功。これを使うべき。
DateTime::Format::Strptime で自作しても可 (DIY派専用)
コード
use DateTime::Format::DateParse;
my $dt = DateTime::Format::DateParse->parse_datetime('Fri Jan 22 13:52:17 +0000 2010');
use DateTime::Format::Strptime;
my $formatter = DateTime::Format::Strptime->new(
pattern => '%a %b %d %T %z %Y',
locale => 'en_US',
);
my $dt = $formatter->parse_datetime('Fri Jan 22 13:52:17 +0000 2010');
コメント
コメントを投稿