X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FFeed.pm;h=c97a3da839d4457d560683f784cdc913cfa9c44a;hb=8251e45156fd61e83d4249154627b87f5eafdf0a;hp=704effcef2a5bcaa3f7e1d2de710dbff3048113f;hpb=e97da7bb0d230fd624e7f21464c6355a4fdad119;p=public-inbox.git diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index 704effce..c97a3da8 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -12,8 +12,8 @@ use Encode::MIME::Header; use DateTime::Format::Mail; use CGI qw(escapeHTML); use POSIX qw(strftime); +use Date::Parse qw(strptime); use constant DATEFMT => '%Y-%m-%dT%H:%M:%SZ'; -our $dt_parser = DateTime::Format::Mail->new(loose => 1); # main function # FIXME: takes too many args, cleanup @@ -89,8 +89,9 @@ sub utf8_header { sub feed_date { my ($date) = @_; - my $dt = $dt_parser->parse_datetime($date); - $dt ? $dt->strftime(DATEFMT) : 0; + my @t = eval { strptime($date) }; + + scalar(@t) ? strftime(DATEFMT, @t) : 0; } # returns 0 (skipped) or 1 (added)