从用户选择的城市、国家获取时区的最佳方式是什么?


What is the best way of getting the timezone from the city, country that user selects?

我查看了javascript,并考虑使用客户端的时钟,但它似乎不太可靠,因为客户端的时钟不在我的控制范围内。

我四处寻找网络服务,但并不幸运。

基本上我想要的是显示一个特定的时间(例如9:00:00 GMT +4)在用户的时区,基于位置提供(城市,国家)。

谢谢

我认为这个JavaScript工具jsTimezoneDetect是你所需要的。它非常容易使用,它可以检测相当大的时区范围。此外,如果您想检测用户选择的国家和城市的时区,我认为您需要存储整个Olson时区数据库,并进行Ajax调用以获得所需的信息。

如果您将城市列表限制为PHP支持的城市,这很容易,然后您可以使用DateTimeZone类。

如果你允许用户选择任何旧城市,并希望从中计算出时区,那么我很确定没有维护的映射文件。

你可以使用一个web服务来查找一个城市的经纬度,然后将经纬度插入Ask Geo或类似的web服务。你还需要问国家在美国和埃及都有开罗