Actually, Date::Manip (starting with version 6.00) handles ALL timezones included in the Olsen database (as well as military timezones, timezone names from Windows, etc.) correctly. This includes historical timezones (those no longer in use). The Date::Manip::TZ documentation covers this in detail as suggested elsewhere in this thread.
Using the functional interface (i.e. Date_ConvTZ) to do the conversion is NOT recommended. It is strongly recommended that the object-oriented interface be used as it can handle timezones 100% correctly whereas the functional interface is serverly limited. A better solution to the problem in the original message would be:
$d = new Date::Manip::Date;
$d->parse($date);
$d->convert($to);
|