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