使用ip in rails自动检测用户的时区

时间:2011-06-08 14:58:34

标签: ruby-on-rails

我想从他的IP地址中找到用户时区。 如果用户正在旅行,应用程序应该能够找到他所在的当前时区。

2 个答案:

答案 0 :(得分:1)

你不能,至少可靠:考虑代理,ISP NAT或VPN,即使用户似乎在一个国家,也不意味着他真的在那里。

我建议让用户选择他喜欢的时区,并在需要时让他改变。

否则,请看一下:Determine a User's Timezone

答案 1 :(得分:0)

是的,您可以根据用户的IP地址获得时区,但由于代理或VPN的关系,时区并非总是准确的。

为什么?

  • 您的应用程序将仅从请求标头中获取最新的IP,您可以基于该IP找到时区。

但是,如果您有机会忽略此缺点,可以将支票this gemIP lookup service一起使用。要进行测试,您可以使用ipapi_com服务(最多45分钟/分钟免费)。有关实现的提示,您可以看看here