method
zone=
v3.2.8 -
Show latest stable
- Class:
Time
zone=(time_zone)public
Sets Time.zone to a TimeZone object for the current request/thread.
This method accepts any of the following:
-
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 and reset it when the request is done. current_user.time_zone just needs to return a string identifying the user’s preferred time zone:
class ApplicationController < ActionController::Base around_filter :set_time_zone def set_time_zone old_time_zone = Time.zone Time.zone = current_user.time_zone if logged_in? yield ensure Time.zone = old_time_zone end end