Strange behavior of ActiveSupport::TimeZone

I was working with the method “in_time_zone” for the class
ActiveSupport::TimeZone, when I found an unwanted behavior.

I want to set my sights so that display the times for the main zone of
Brazil (UTC-3). During the period not DST there is no problem.
Instead to view the times for the period DST there are a problem: the
southern Brazilian states adopt DST (which means UTC-2), while the
states in the north do not use DST (which means UTC-3).

then to overcome this I was going to do this:

#on application.rb
config.time_zone = ‘Brasilia’

#on a generic view


generate a time in the summer austral hemisphere

time_in_summer_austral_hemisphere = Time.local(2010,1,1)

set the timezone to UTC-2 (DST zone)

time_in_brazilian_dst =

set the timezone to UTC-3 ( zone without DST)

time_in_brazilian_not_dst =

puts time_in_brazilian_dst

Fri, 01 Jan 2010 00:00:00 GST -02:00

puts time_in_brazilian_not_dst
Fri, 01 Jan 2010 00:00:00 BRST -02:00

As you can see, both the conversion to UTC-2 or UTC-3 shows that the
same time

anyone have any idea why this behavior?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs