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