RAILS时区 - 根据网络用户的位置显示时间

时间:2012-01-29 06:09:51

标签: ruby-on-rails

我开发了在线考试系统,在创建考试时我提交了“考试开始时间”,这是以UTC格式存储在数据库中,

例如说考试开始时间“Sun Jan 29 15:30:00 UTC 2012”,

来自印度的学生应该在当地时间看到考试开始时间,即“Sun Jan 29 21:00:00 +0530 2012”

来自法国的学生应该在当地时间看到考试开始时间,

请指导我如何实现这一目标,

提前致谢

2 个答案:

答案 0 :(得分:0)

在我阅读Stackoverflow上的this thread之前,我使用another SO thread中的信息解决了这个问题:

new Date().getTimezoneOffset()/60;

这是一个javascript函数,但如果你想要一个不那么突兀的形式,可以很容易地放在application.html.erb或其他地方。

答案 1 :(得分:0)

如果您已经知道学生来自哪里,您可以使用:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html#method-i-in_time_zone

否则,请遵循斯科特的建议。