如何在Rails中使用浏览器时区显示DateTime?

5
Rails将所有的DateTime都存储在UTC时区中。我需要将这个时间显示给用户,以他们所在的浏览器报告的时区为准。有没有一种简单的方法来实现这个需求呢?
使用最新的Rails(3.2.13)。
2个回答

7

3
在客户端(JavaScript):
function set_time_zone_offset() {
    var current_time = new Date();
    $.cookie('time_zone', current_time.getTimezoneOffset());
}

在应用控制器中:
before_filter :set_timezone 

def set_timezone  
 min = request.cookies["time_zone"].to_i
 Time.zone = ActiveSupport::TimeZone[-min.minutes]
end 

来源:https://dev59.com/aFLTa4cB1Zd3GeqPXyYF#5930596

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接