使用JavaScript或PHP自动检测用户的当前本地时间
我经常需要显示基于用户 实际 本地时间或受其影响的信息,该时间在各个时区不同。是否有获取用户当前时间和/或时区的可靠方法?
关键的问题:
- 服务器端代码基于网站主机或用户的ISP
- 客户端代码基于用户的系统时钟,太容易操作
关键问题:
- 是否需要查明用户的地理位置?
- ISP时间可以成为准确的指南吗?
- 用户的操作系统时钟可以改变还是可以被用户修改?
例子:
只需1小时3分56秒!
问题:根据时间而定;用户的操作系统时钟,主机服务器时间(正负偏移),ISP系统时间。如果所有时区的时钟都在同一时间结束,这很容易,但是如果倒数到用户本地时区的午夜之类的时间,则比较麻烦。
物品发布于3:03 pm(10秒前)
问题:无论用户如何,都会计算“ 10秒”,时间会进行调整以匹配用户的时区。
这家餐厅现在营业至午夜(AEST)。
问题:可以通过从服务器端偏移来计算诸如午夜的时间,但是使用psudo时间(如现在),则2小时取决于用户的时间。
使用time()
输出服务器时间。可以根据用户的时区进行偏移。
使用Date()
输出用户的计算机时钟时间,该时间太容易操纵。
回答:
简而言之,没有。
我建议使用服务器端时间,并让用户选择自己的时区。
您可能可以根据用户IP地址周围的启发式方法为用户计算默认时区,但这容易出错。
您应该能够通过javascript / Ajax提取客户端时区信息,但是与时间本身一样,这也容易出错。
:让用户根据您期望的用户所在位置来选择合理的默认时区。
以上是 使用JavaScript或PHP自动检测用户的当前本地时间 的全部内容, 来源链接: utcz.com/qa/406120.html