如何在PHP中从IP地址/国家/地区名称中查找时区ID?

Ama*_*aur 6 php timezone

任何人都可以告诉我,如果PHP中有任何方法可以从IP地址或国家名称获取时区区域('Asia/Calcutta')吗?

描述:

我正在尝试根据他/她的国家/地区设置用户时区.我从他的IP地址获得用户国家,但我需要该国家的时区区域('亚洲/加尔各答')来检查该国家的DST是否开启.有谁能请我在PHP中提供一些合适的解决方案?

Eri*_* J. 5

使用IP地址

时区有时遵循古怪的规则.IP地理定位不是精确的(尽管有些供应商声称).

话虽如此,您当然可以使用MaxMind的Geo IP产品找到城市和国家:

http://www.maxmind.com/app/geolite

其中包括一个PHP模块

http://www.maxmind.com/app/php

然后,您可以使用MaxMind API尝试估计用户的时区

http://www.maxmind.com/app/faq#timezone

替代

如果你想依赖你的用户的时钟而不是IP地址,jsTimezoneDetect工作得很好(虽然它并不完美).

https://bitbucket.org/pellepim/jstimezonedetect/wiki/Home

摘要

在所有情况下,这两种技术都不能完美 请务必让您的用户更正任何自动生成的时区建议.