首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据用户的本地时间显示不同的时间?

如何根据用户的本地时间显示不同的时间?
EN

Stack Overflow用户
提问于 2013-02-17 11:15:44
回答 1查看 126关注 0票数 1

我确实有这样的背景

config/application.rb

代码语言:javascript
复制
config.time_zone = 'London'
config.active_record.default_timezone = :utc

伦敦当地时间将节省所有的时间。

然而,我的应用程序将从世界各地使用,以便我想显示与他们的当地时间。

我怎么才能让它成为可能?

我已经看过了,但似乎只有当用户是Rails应用程序的成员时,它才会起作用。

它不会知道他们的当地时间,除非看到的人登记并设置他的当地时间。

难道没有任何技术来获取访客个人电脑的时区并用它计算UTC时间吗?

http://railscasts.com/episodes/106-time-zones-revised?autoplay=true

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-13 02:25:06

您可以使用javascript根据用户的本地时区转换时间。以下是我所做的:

在ApplicationHelper.rb中,添加一个生成在客户端浏览器上调用javascript的html的方法:

代码语言:javascript
复制
def localize(time)
    "<script type='text/javascript'>localize(#{time.tv_sec * 1000});</script>".html_safe
end

添加javascript函数,它将处理时间并显示其字符串格式(使用浏览器的时区)

代码语言:javascript
复制
function localize(millisec)
{
  var d = new Date(millisec);
  document.write(d.toString());
}

然后在视图中,当需要显示时间时,调用helper方法:

代码语言:javascript
复制
<span><%= localize(@my_record.time) %></span>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14920491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档