use DateTime;
my $time = DateTime->now( time_zone => 'America/New_York' );
$time->set_time_zone( 'Australia/South' );
print "$time\n";
####
my $time = DateTime->new(
year => 2007,
month => 12,
day => 28,
hour => 18,
minute => 30,
second => 0,
time_zone => 'America/New_York',
);
####
[jason@critter ~ 0]$ date
Fri Dec 28 13:24:04 EST 2007
# oops, there are two ESTs, one at -0500 and one at +1000/+1100, which one is it?
[jason@critter ~ 0]$ ls -l /etc/localtime
lrwxr-xr-x 1 root wheel 30 Dec 5 12:06 /etc/localtime@ -> /usr/share/zoneinfo/US/Eastern