Setting Fixed Time Zone (without time savings)

Hi, all

Ruby 1.8.6
Rails 2.3.2

Environment.rb
config.time_zone = 'Buenos Aires'

This zone is usually GMT -3:00hs but in this moment os the year it
gives GMT -2.00 hs because the world time saving
conventions....but...our country (Argentina) don't adopt the time
saving convention this year...
How can I set the time zone to get an fixed GMT -3.00 ?
Thanks
Fabián

Quoting FF <fabianfx@gmail.com>:

Hi, all

Ruby 1.8.6
Rails 2.3.2

Environment.rb
config.time_zone = 'Buenos Aires'

This zone is usually GMT -3:00hs but in this moment os the year it
gives GMT -2.00 hs because the world time saving
conventions....but...our country (Argentina) don't adopt the time
saving convention this year...
How can I set the time zone to get an fixed GMT -3.00 ?

Update/Patch your OS, seriously. First example below is on a newly installed
OpenSuSE 11.2. Or second method below (per http://rails.rubyonrails.org/).
Both are UTC -03:00. You indicate that your computer is giving you Buenos
Aires is UTC -02:00. If the OS has been patched recently, try restarting the
Rails server to get the new TZ info.

tz = ActiveSupport::TimeZone["Buenos Aires"]

=> #<ActiveSupport::TimeZone:0xb6e9670c @tzinfo=nil, @utc_offset=-10800, @name="Buenos Aires">

tz = ActiveSupport::TimeZone[-3]

=> #<ActiveSupport::TimeZone:0xb6e966f8 @tzinfo=nil, @utc_offset=-10800, @name="Brasilia">

HTH,
Jeffrey

Hi Jeffrey.

My OS is WindowsXP SP3. The time saving is running ok for all the apps
in the computer.
So my computer is giving me, UTC -03:00.
Rails with the time_zone set to "Buenos Aires"...gives -02:00 so the
problem is only with Rails.

Fabián

Quoting FF <fabianfx@gmail.com>:
> Quoting FF <fabia...@gmail.com>:
>
> > Hi, all
>
> > Ruby 1.8.6
> > Rails 2.3.2
>
> > Environment.rb
> > config.time_zone = 'Buenos Aires'
>
> > This zone is usually GMT -3:00hs but in this moment os the year it
> > gives GMT -2.00 hs because the world time saving
> > conventions....but...our country (Argentina) don't adopt the time
> > saving convention this year...
> > How can I set the time zone to get an fixed GMT -3.00 ?
>
> Update/Patch your OS, seriously. First example below is on a newly installed
> OpenSuSE 11.2. Or second method below (perhttp://rails.rubyonrails.org/).
> Both are UTC -03:00. You indicate that your computer is giving you Buenos
> Aires is UTC -02:00. If the OS has been patched recently, try restarting the
> Rails server to get the new TZ info.
>
> >> tz = ActiveSupport::TimeZone["Buenos Aires"]
>
> => #<ActiveSupport::TimeZone:0xb6e9670c @tzinfo=nil, @utc_offset=-10800, @name="Buenos Aires">>> tz = ActiveSupport::TimeZone[-3]
>
> => #<ActiveSupport::TimeZone:0xb6e966f8 @tzinfo=nil, @utc_offset=-10800, @name="Brasilia">

Hi Jeffrey.

My OS is WindowsXP SP3. The time saving is running ok for all the apps
in the computer.
So my computer is giving me, UTC -03:00.
Rails with the time_zone set to "Buenos Aires"...gives -02:00 so the
problem is only with Rails.

Fabián

Which version of ActiveSupport do you have? I had assumed that TZ info was
coming from the OS, but digging into the Rails libraries, that turns out not
to be true. Shame on me. The information is in:

activesupport-2.x.y/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb

Note: if the version of tzinfo is different, this probably is where your
problem is. I checked ActiveSupport 2.3.3 and 2.3.5 and they are the same.

Jeffrey

Jeffrey

My Path is:

activesupport-2.3.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/
definitions/America/Argentina/Buenos_Aires.rb

I edited the file and commented this two lines I think may sense.

  # tz.transition 2009, 10, :o5, 1255834800
  # tz.transition 2010, 3, :o4, 1269136800

And I Is working NOW !!!!
Now I need to wait to the end of 2010 to see what our country decides
to do about time saving and repeat (or not) the comment for the lines:

tz.transition 2010, 10, :o5, 1287284400
tz.transition 2011, 3, :o4, 1300586400

Thanks a lot.
Fabián

Interesting,
  I have the same two lines in my file and yet on my system, 'Buenos Aires'
timezone is -3:00. I am beginning to suspect that on Linux, the system TZ
info is used. I'll dig into it some more.

Jeffrey

Quoting FF <fabianfx@gmail.com>:

I think you have found a bug.

6.months.ago.in_time_zone(ActiveSupport::TimeZone['Buenos Aires'])

=> Tue, 23 Jun 2009 21:21:43 ART -03:00

6.months.ago.in_time_zone(ActiveSupport::TimeZone['Buenos Aires']).dst?

=> false

Time.now.in_time_zone(ActiveSupport::TimeZone['Buenos Aires'])

=> Wed, 23 Dec 2009 22:22:06 ARST -02:00

Time.now.in_time_zone(ActiveSupport::TimeZone['Buenos Aires']).dst?

=> true

Commenting out the lines you reference below:

jeff@odysseus:~/Rails/amethyst2> script/console test
Loading test environment (Rails 2.3.5)

6.months.ago.in_time_zone(ActiveSupport::TimeZone['Buenos Aires'])

=> Tue, 23 Jun 2009 21:24:17 ART -03:00

6.months.ago.in_time_zone(ActiveSupport::TimeZone['Buenos Aires']).dst?

=> false

Time.now.in_time_zone(ActiveSupport::TimeZone['Buenos Aires'])

=> Wed, 23 Dec 2009 21:24:32 ART -03:00

Time.now.in_time_zone(ActiveSupport::TimeZone['Buenos Aires']).dst?

=> false

Time.now.in_time_zone(ActiveSupport::TimeZone['Buenos Aires']).utc

=> Thu Dec 24 00:26:01 UTC 2009

The ActiveSupport::TimeZone['Buenos Aires'] object has the base offset (-3).
Finding out if Daylight Savings is in effect requires specifying a date.

You want the glory/frustration of reporting this bug?

Jeffrey

Quoting FF <fabianfx@gmail.com>:

Well...I want the things working...with glory or frustratation...
I know that there´s no a lot of buddies here in the south dealing with
this rails problems...and I know too that rails do not how to know
that our contry is the only in this zone that no use this year the
time saving...
So I appreciate a lot you atention and help adout this issua....you
keep with the glory...I only want to know how do this this work...
Thanks again
Fabián

Jeffrey

My Path is:

activesupport-2.3.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/
definitions/America/Argentina/Buenos_Aires.rb

I edited the file and commented this two lines I think may sense.

# tz.transition 2009, 10, :o5, 1255834800
# tz.transition 2010, 3, :o4, 1269136800

You might try updating your tzinfo gem (if you have it installed it
takes precendence over the one bundled in rails) - new versions are
released every so often incorporating changes to the definition files

Fred

That Works.
I have tzinfo-0.3.12 gem
Upgrade to tzinfo-0.3.15 gem
Thanks a lot to all of the buddies
Fabián