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