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

问题描述:

Rails在UTC时区存储所有DateTime s。我需要现在向用户显示他们浏览器报告他们所在的时区。有没有简单的方法来做到这一点?如何使用Rails在浏览器的时区中显示DateTime?

使用最新的Rails(3.2.13)。

有人提出第e解成宝石:

https://github.com/basecamp/local_time

在客户端(JS):

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://*.com/a/5930596/643500