2016-02-26 102 views
-1

我想在php中获取时区。我怎样才能得到这个时区的时区?

a:14:{s:3:"zip";s:5:"78229";s:3:"lon";d:-98.5746990000;s:6:"status";s:7:"success";s:5:"query";s:13:"72.***.***.**";s:3:"org";s:17:"Time Warner Cable";s:2:"as";s:38:"AS11427 Time Warner Cable Internet LLC";s:4:"city";s:11:"San Antonio";s:8:"timezone";s:15:"America/Chicago";s:7:"country";s:13:"United States";s:3:"isp";s:17:"Time Warner Cable";s:10:"regionName";s:5:"Texas";s:3:"lat";d:29.50700000;s:11:"countryCode";s:2:"US";s:6:"region";s:2:"TX";} 

这里是我使用http://ip-api.com/php/[YOUR_IP_HERE]

+1

怎么样json_decode? –

+0

明白了......必须将php更改为url中的json lol –

回答

0

如果你阅读文档,Link to Docs

它看起来像你有什么是序列化PHP的链接。您可以在网上进行解码:

Deserializer for PHP

与PHP函数,虽然它说,你很可能使用JSON,例如更好http://ip-api.com/json/8.8.8.8并处理。你可以使用PHP或类似jQuery来解析字符串。

我不使用jsfiddle,但你可以看看这是否有效,是否合理。我应该注意到,当我登录到jsfiddle时,协议是https并且代码不起作用,因为JSON的协议是http。它应该与提供的链接一起工作。

JS 

$.getJSON("http://ip-api.com/json/8.8.8.8", function(data) { 
    var items = []; 
    $.each(data, function(key, val) { 
    items.push("<li id='" + key + "'>" + val + "</li>"); 
    }); 
     items.push("<li>The Time Zone is just data.timezone: "+data.timezone+"</li>") 
    $("<ul/>", { 
    "class": "my-new-list", 
    html: items.join("") 
    }).appendTo("#results"); 
}); 

HTML 

<div id="results"></div> 

jQuery.getJSON Fiddle

如果你只是想用PHP没有jQuery的你可以尝试这样的:

<?php 
$json = file_get_contents('http://ip-api.com/json/8.8.8.8'); 
$obj = json_decode($json); 
echo "<pre>"; 
print_r($obj); 
echo $obj->timezone; 
echo "</pre>"; 
?>