【发布时间】:2013-03-04 12:55:37
【问题描述】:
Rails 将所有 DateTimes 存储在 UTC 时区中。我现在需要在用户的浏览器报告他们所在的时区中向用户显示该时间。有没有简单的方法可以做到这一点?
使用最新的 Rails (3.2.13)。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 datetime ruby-on-rails-3.2 timezone
Rails 将所有 DateTimes 存储在 UTC 时区中。我现在需要在用户的浏览器报告他们所在的时区中向用户显示该时间。有没有简单的方法可以做到这一点?
使用最新的 Rails (3.2.13)。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 datetime ruby-on-rails-3.2 timezone
在客户端(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
【讨论】:
有人将解决方案变成了宝石:
【讨论】: