如何使用Rails在浏览器的时区中显示DateTime?
问题描述:
Rails在UTC时区存储所有DateTime
s。我需要现在向用户显示他们浏览器报告他们所在的时区。有没有简单的方法来做到这一点?如何使用Rails在浏览器的时区中显示DateTime?
使用最新的Rails(3.2.13)。
答
在客户端(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