I have a date stored in UTC in my Rails app and am trying to display it to a user who has \"Eastern Time (US & Canada)\"
as their timezone. The problem is t
Create a helper that utilizes the dst? method on TimeZone
to check whether the passed timezone is currently in DST. If it is, then subtract an hour from the supplied DateTime
instance:
# helper function
module TimeConversion
def no_dst(datetime, timezone)
Time.zone = timezone
if Time.zone.now.dst?
return datetime - 1.hour
end
return datetime
end
end
Then, render the adjusted (or non-adjusted) time in your view:
# in your view
<%= no_dst(DateTime.parse("2013-08-26T00:00:00Z"), 'Eastern Time (US & Canada)') %>
#=> Sun, 25 Aug 2013 19:00:00 EDT -04:00