[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
example:
> 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
http://www.ruby-forum.com/topic/68570#88607).
Because of the limitations of the Time class, TZInfo always returns
UTC Time instances and ignores the timezone of Times that are passed
in.
Regards,
Phil
--
Phil Ross
http://tzinfo.rubyforge.org/ -- DST-aware timezone library for Ruby
More information about the TZInfo-users
mailing list