我经常需要根据不同时区的用户实际本地时间或受其影响来显示信息。有没有可靠的方法来获取用户的当前时间和/或时区?
关键问题:
- 服务器端代码基于网站主机或用户的ISP
- 客户端代码基于用户的系统时钟,太容易被操纵
关键问题:
- 是否有必要确定用户的地理位置?
- ISP 时间可以作为准确的指南吗?
- 用户操作系统时钟可以改变或由用户修改?
例子:
倒数:
仅剩 1 小时 3 分 56 秒!
问题:基于什么需要几秒钟;用户的操作系统时钟、主机服务器时间(正负偏移)、ISP 系统时间。如果时钟在所有时区的同一时间结束,这很容易,但如果是用户本地时区的午夜倒计时,则更棘手)
编辑日志
下午 3:03 发布的项目(10 秒前)
问题:无论用户如何计算“10 秒”,都会调整时间以匹配用户的时区。
营业时间:
这家餐厅现在营业至午夜(澳大利亚东部标准时间)。
问题:给出一个时间,例如午夜,可以通过从服务器端偏移来计算,但使用伪时间,例如现在,2 小时内是基于用户的时间。
PHP:使用time()
输出服务器时间。这可以根据用户的时区进行偏移。
JavaScript:使用Date()
输出用户的计算机时钟时间,这太容易被操纵了。