DateTime::TimeZone is my 1st choice. This module is superb. It even knows the daylight saving time oddities of certain counties in Indiana. Highly recommended!
It is indeed superb. You can thank the Olson Timezone Database for that. The timezone specifics in DateTime::TimeZone are constructed directly from that compendium.