[TZInfo-users] TzInfo timezone base question

Philip Ross phil.ross at gmail.com
Wed Feb 6 08:43:12 EST 2008

On 06/02/2008, Mark Van De Vyver <mvyver at gmail.com> wrote:
> Hi,
> Thanks for the work that has gone into making tzinfo available, and
> for making it freely available!
> I'm trying to figure out a way to obtain a Time instance that has a
> 'specific' timezone.  The twist is I just start with a time string.
> Is there a way to do this using tzinfo?

Hi Mark,

The Ruby Time class only supports representing times in either UTC or
the local timezone of the system.

On Unix based architectures, the local timezone can be changed at
runtime by setting the TZ environment variable. This will affect all
Times constructed after changing the environment variable. For

> ENV['TZ']='Australia/Melbourne'
=> "Australia/Melbourne"
> Time.parse("09:30").iso8601
=> "2008-02-07T09:30:00+11:00"
> ENV['TZ']='Asia/Karachi'
=> "Asia/Karachi"
> Time.parse("09:30").iso8601
=> "2008-02-06T09:30:00+05:00"

On Windows, changing the TZ environment variable has no effect (see

Because of the limitations of the Time class, TZInfo always returns
UTC Time instances and ignores the timezone of Times that are passed



Phil Ross
http://tzinfo.rubyforge.org/ -- DST-aware timezone library for Ruby

More information about the TZInfo-users mailing list