use strict; use warnings; use DateTime::Format::Builder; my $date = "Thu, 7 Aug 2008 08:35:36 +01:00"; $date =~ s/Thu\, //; $date =~ s/\+01:00$//; $date =~ s/Aug/08/; my $parser = DateTime::Format::Builder->new(); $parser = DateTime::Format::Builder->create_parser( regex => qr/^(\d\d)(\d\d)(\d\d\d\d)T(\d\d)(\d\d)(\d\d)$/, params => [ qw( day month year hour minute second ) ], ); my $dt = $parser->parse_datetime($date); print $parser->format_datetime($dt);