1package DateTime::Format::Tivoli; 2 3use DateTime::Format::Builder 4( 5 parsers => { 6 parse_datetime => { 7 strptime => '%h %e %k:%M:%S %Y', 8 }, 9 }, 10); 11 12sub format_datetime 13{ 14 my ($self, $dt) = @_; 15 my $z = $dt->clone->set_time_zone( 'GMT' ); 16 return $z->strftime( '%h %e %k:%M:%S %Y' ); 17} 18 19package main; 20 21my $parser = DateTime::Format::Tivoli->new(); 22 23my @dates = ( 'Nov 5 22:49:45 2003', '27/Apr/2003:19:45:11 -0400' ); 24 25for my $date (@dates) 26{ 27 my $dt = $parser->parse_datetime( $date )->set_time_zone( 'Australia/Sydney' ); 28 print "$date => ", $dt->datetime, " => ", $parser->format_datetime( $dt ), "\n"; 29} 30