Sets Time.zone to a TimeZone
object for the current
request/thread.
This method accepts any of the following:
- A Rails TimeZone object.
- An identifier for a Rails TimeZone object (e.g., "Eastern Time
(US & Canada)", -5.hours).
- A TZInfo::Timezone object.
- An identifier for a TZInfo::Timezone object (e.g.,
"America/New_York").
Here‘s an example of how you might set Time.zone on a per
request basis — current_user.time_zone just needs to return
a string identifying the user‘s preferred TimeZone:
class ApplicationController < ActionController::Base
before_filter :set_time_zone
def set_time_zone
Time.zone = current_user.time_zone
end
end