使用JavaScript或PHP自动检测用户当前的本地时间

前端之家收集整理的这篇文章主要介绍了使用JavaScript或PHP自动检测用户当前的本地时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我经常需要显示基于或受到用户实际本地时间影响的信息,这些时间在不同的时区有所不同.是否有可靠的方式获取用户当前时间和/或时区?

关键的问题:

>服务器端代码是基于网站主机或用户的ISP
>客户端代码是基于用户的系统时钟,操作太容易

主要问题:

>是否有必要确定用户的地理位置?
ISP的时间可以准确吗?
>用户操作系统时钟可能会有所不同或被用户修改

例子:

倒数:

Only 1 hour,3 minutes,56 seconds to go!

问题:几秒钟就去做什么用户的OS时钟,主机服务器的时间(加号或减号),ISP系统时间.如果时钟在所有时区的同一时间完成,这很容易,但如果在用户本地时区的午夜时间倒计时,则会更加复杂)

编辑日志

Item posted at 3:03pm (10 seconds ago)

问题:无论用户如何计算“10秒”,调整时间以匹配用户的时区.

开放时间:

This restaurant is open now until midnight (AEST).

问题:提供午夜等时间可以通过从服务器端偏移来计算,但是使用psudo时间,如现在,在2小时内是基于用户的时间.

PHP:使用time()输出服务器的时间.这可以根据用户的时区来抵消.

JavaScript:使用Date()输出用户的计算机时钟时间太容易操作.

解决方法

总之没有.

我建议使用服务器端的时间,并有能力让用户选择他们的时区.

您可以根据围绕其IP地址的启发式来计算用户的默认时区,但这是可以错误的.

您应该能够通过javascript / Ajax提取客户端时区信息,但与时间本身一样,这也是错误的.

我的建议:让用户根据您期望用户所在的地点选择合适的默认时区.

猜你在找的JavaScript相关文章