如何检索Web应用程序的客户端用户的时区?

时间:2009-03-10 14:03:04

标签: http browser timezone client

问题是听起来 - 如何根据浏览器输入检索客户端用户的时区?如果重要的话,使用服务器端J2EE,但我不认为在这种情况下真的很重要。现在,HTTP是协议,它可以在它上线时使用HTTPS。

5 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

似乎某人hacked some javascript推断出这一点,但是,最好的方法是让用户做出决定。但您可以使用上面的链接为用户选择默认值。

答案 2 :(得分:1)

我确定这是重复的。

最好的方法是询问用户。默认情况下,时区不会在HTML标头中发送。还要考虑来自一个时区的用户可能正在访问另一个时区。你应该使用哪个时区?

答案 3 :(得分:1)

您还可以使用ip2location等IP地理定位服务。他们sell a database subscription将返回IP地址所在的时区。当然,这是有代价的。 Javascript solution可以使用,但确实需要客户端支持它。

地理位置将支持任何客户端,但可能会提供错误的结果,具体取决于IP块的归属方式或客户端是否使用位于不同时区的代理服务器(很可能是anomysing代理服务)。 Javascript解决方案将支持各种各样的客户端,但将根据计算机设置的时间返回时区,而不是基于实际位置的时区(旅行用户并不总是更改计算机上的时间)。所以没有一种解决方案可以涵盖所有这些。

使用这两种方法中的一种进行猜测然后允许用户纠正它将是我认为最好的方法。如果你想过度使用两者,让用户决定哪个最有意义。

答案 4 :(得分:0)

Pierre-Luc Simard所述,这是一个非常好的主意,您可以使用IP来推断该信息。信用证归他,但我会添加另一个链接到Geolite from Maxmind的免费替代品。还有一个sample code in PHP for the timezones,我很确定你会在Java API中找到相应的内容。