一尘不染

如何获得客户的时区?

php

我正在使用Zend_Framework编写一个应用程序(因此解决方案可以依靠它)。

如何获得客户的时区?

例如,如果有人在俄罗斯莫斯科,我想得到3 * 60 * 60(因为有UTC +
3)。如果他在英国,我要零。如果他使用UTC-3:30(加拿大?),我要-3.5 * 60 * 60。

(这不是格式的问题-我可以在俄罗斯圣彼得堡获得’Europe / Moscow’或’UTC-3’,这是关于获得时区客户端的使用。但是最好以秒为单位的增量)

想到的唯一解决方案是让javascript为我获取本地时间并重定向。


阅读 275

收藏
2020-05-26

共1个答案

一尘不染

Cookie将保存客户端的时区。相当宽松,但这是因为它很冗长。我已经在自己的一个应用程序中按照这些路线实现了一个解决方案,并且效果很好。

您还可以通过Ajax将时区发送到服务器,然后使其执行您需要执行的任何操作。或者,如果您不使用它进行任何服务器端计算,则只需在需要时应用时区客户端即可。真的取决于您的用例。

除此之外,我建议您让访问者自己设置时区并将其存储在Cookie或会话中。

2020-05-26