【发布时间】:2017-07-13 11:23:41
【问题描述】:
我想要来自不同位置的不同用户登录的时区。
为此,我在 Laravel 5.4 $request->ip() 中获得了 IP 地址。
通过使用json_decode(file_get_contents("http://ipinfo.io/{$ipaddr}/json"));
我得到了国家和地区的名称。
使用这个国家和地区名称,我将获得 PHP 时区名称,例如“欧洲/伦敦”
我的问题:
对于某些位置,区域名称是该函数中的两位数字。但我没有得到数字。所以时区为空。
我正在使用this 获取时区以在date_default_timezone_set(); 中设置。
还有其他获取时区的方法吗?
【问题讨论】:
-
您在这些地点获得了什么?经度和纬度?国家?
-
在遇到一些与 IP 相关的问题后,根据您的服务器配置,
$request->ip()可能不会返回您的客户端的 IP 地址;您需要研究另一种方法来可靠地检索它。 -
另请注意,仅仅因为您获得了国家/地区并不意味着可以创建它们来制作有效的时区标识符。
-
ipfind.co?ip={$ipaddr} 也会直接给你时区。
标签: php laravel-5 timezone ip-address