#!/usr/bin/perl -w use strict; # (C) 2003-2007 Willem Jan Hengeveld # Web: http://www.xs4all.nl/~itsme/ # http://wiki.xda-developers.com/ # # $Id$ # use DateTime::TimeZone; use DateTime; if (!@ARGV) { my $dt= DateTime->now; list_zones($dt); } else { my ($tz, $time); for (@ARGV) { if (!defined $tz && /[a-z]/i) { $tz= $_; } elsif (!defined $time && /^\d{4}$/) { $time= $_; } elsif (!defined $time && /:/) { $time= $_; } else { die "unknown argument: $_\n"; } } if ($tz =~ /orkut/i) { $tz= "America/Los_Angeles"; } my $dtnow= DateTime->now; my $dt; if ($time =~ /^(\d\d):?(\d\d)$/) { $dt= DateTime->new( year=>$dtnow->year, month=>$dtnow->month, day=>$dtnow->day, hour=>$1, minute=>$2, time_zone=>$tz); } list_zones($dt); } exit(0); ################################################ sub list_zones { my $dt= shift; my @zones= qw(America/Los_Angeles America/New_York UTC Europe/Amsterdam Asia/Qatar Asia/Tokyo); for (@zones) { $dt->set_time_zone($_); printf("%-35s %s\n", $dt->strftime("%Y-%m-%d %H:%M:%S %Z %z"), $dt->time_zone_long_name); } }