我确实有这样的背景
config/application.rb
config.time_zone = 'London'
config.active_record.default_timezone = :utc伦敦当地时间将节省所有的时间。
然而,我的应用程序将从世界各地使用,以便我想显示与他们的当地时间。
我怎么才能让它成为可能?
我已经看过了,但似乎只有当用户是Rails应用程序的成员时,它才会起作用。
它不会知道他们的当地时间,除非看到的人登记并设置他的当地时间。
难道没有任何技术来获取访客个人电脑的时区并用它计算UTC时间吗?
http://railscasts.com/episodes/106-time-zones-revised?autoplay=true
发布于 2013-05-13 02:25:06
您可以使用javascript根据用户的本地时区转换时间。以下是我所做的:
在ApplicationHelper.rb中,添加一个生成在客户端浏览器上调用javascript的html的方法:
def localize(time)
"<script type='text/javascript'>localize(#{time.tv_sec * 1000});</script>".html_safe
end添加javascript函数,它将处理时间并显示其字符串格式(使用浏览器的时区)
function localize(millisec)
{
var d = new Date(millisec);
document.write(d.toString());
}然后在视图中,当需要显示时间时,调用helper方法:
<span><%= localize(@my_record.time) %></span>https://stackoverflow.com/questions/14920491
复制相似问题