0
我試圖讓未登錄的用戶更改一天中的時間顯示,並且它似乎最好的方法是通過參數中的參數。我有:來自URL的Rails時區參數
class ApplicationController < ActionController::Base
around_filter :use_time_zone
private
def use_time_zone(&block)
Time.use_zone((params[:time] || Time.zone), &block)
end
end
而這對於像「www.mysite.com?time=Hawaii」
但是,它不能處理一些更復雜的人的(例如,「美國東部時間的偉大工程(美國& Canada)'),加上這在地址欄中看起來很糟糕。
有沒有辦法簡單地使用DST(或任何其他縮寫形式如'PDT')帶參數的UTC偏移量?
您是否嘗試過TimeZone.lookup方法? http://apidock.com/rails/v3.2.8/ActiveSupport/TimeZone/lookup/class – phoet
這似乎只適用於全名,與上面的Time.use_zone一樣。我可以按照方法的建議做'tzinfo = ActiveSupport :: TimeZone.find_tzinfo('Hawaii')',然後'ActiveSupport :: TimeZone.create(tzinfo.name.freeze)',但是隻有在使用完全tz名。 – tyler