【发布时间】:2020-01-06 05:24:26
【问题描述】:
我知道有很多宝石可以完成这项工作,但我认为将整个宝石用于如此简单的任务是相当过分的。
我发现js做起来很简单:
Intl.DateTimeFormat().resolvedOptions().timeZone
答案是一个类似"Europe/Moscow"的字符串。
我们可以很容易的保存到db中
create_table :users do |t|
t.string :time_zone, default: "UTC"
...
end
并设置用户的时区,如:
# app/controllers/application_controller.rb
around_action :set_time_zone, if: :current_user
private
def set_time_zone(&block)
Time.use_zone(current_user.time_zone, &block)
end
所以我的问题是:我是否遗漏了一些重要的东西(为什么要使用这些宝石)或者我可以像上面写的那样做(没有任何宝石)?
【问题讨论】:
-
嗨,欢迎来到 SO ;) 如果您的意思是在 在前端 显示区域设置日期,您可以使用 Javascript 的
toLocaleDateString和toLocaleTimeStringdeveloper.mozilla.org/en-US/docs/Web/JavaScript/Reference/…跨度>
标签: javascript ruby-on-rails ruby timezone