2017-03-09 71 views
1

我已经创建了一个依赖于客户端的时区(在OS上设置)来呈现显示的应用程序。客户端计算机上的时区和时间未同步

但是,如果客户端在他的电脑上错误地设置了他的时区,我的显示屏就会中断。

我的问题是:如何根据他现在在哪里得到客户的适当时区?

我明白,有几个解决方案:我可以通过使用谷歌API来做到这一点,然后知道客户端的位置。但是,这需要在访问他的位置之前询问客户端权限。我也读过你可以使用客户端的IP地址,但这是不可靠的。最后,我可以问客户。

有没有其他的方式来动态地做到这一点? 任何帮助表示赞赏

PS:据我所知,问题是广泛的,我的问题只需要一个可能性列表。没有确定的答案。

+0

老实说,如果你不信任用户正确地设置自己的时区,他的计算机上,然后没有其他方法你描述(这是完全合法的)会工作,要么。最终,用户可以通过一种机制或另一种机制选择假装在其他地方。此外,有很多人选择*将电脑设置为另一个时区出于有效的商业原因,或在旅行时保持固定在其家乡时区。这确实是个人偏好,而不是你可以强制执行的。 –

+0

这是真的。我试图寻找解决方案,无法找到完全可靠的解决方案。然而,在一天结束的时候,我应该只是在向用户提供他们所要求的信息,即根据他们所设定的信息,有意识地/不自觉地。 –

回答

0

Javascript new Date().toString();将为您提供所需的关于用户和时区(如果设置正确)的时间的所有信息。然后,您可以将其发送到您的服务器并执行您的打算。

var split = new Date().toString().split(" "); 
var timeZoneFormatted = split[split.length - 2] + " " + split[split.length - 1]; //outputs "GMT+1100 (AEDT)" 

没有必要为这一个许可。只要将它发送回您的服务器并且使用它即可。从这里

Javascript代码:Getting the client's timezone in JavaScript

+0

谢谢。这个链接帮助我解决了这个问题!你是老板 –

相关问题