从Yahoo WOEID获取时区

时间:2010-10-27 19:34:11

标签: timezone zip yahoo

我正在使用此问题(yahoo-weather-api-woeid-retrieval)将美国ZIP转换为Yahoo WOEID值。然而,当雅虎回复返回各种有趣的东西时,我感兴趣的是该位置的正确时区。

有没有简单的方法可以从雅虎返回时区,或者将WOEID(或者说ZIP)映射到时区值?

如果我得到美国WOEID的天气预报,那么该数据包括预测时的当地时间和时区(即它返回EDT,PDT HST等)。所以我可以从那里抓取数据,但我更愿意将它与位置数据联系起来。一个例子是:

<yweather:condition  text="Cloudy"  code="26"  temp="72"  date="Tue, 26 Oct 2010 11:03 am EDT" />

2 个答案:

答案 0 :(得分:1)

我不相信您想要的功能会暴露。我见过的例子就是这样的(PHP):

/**
 * This function find the local date and time of any place using the geoname web service 
 *
 * @example getTime(47.608,-104.231); //time of Machu Pichu
 * 
 * @param float $lat
 * @param float $lng
 * @return string local date and time in 24 hour format
 */
function getTime($lat, $lng)
{
    $url = "http://ws.geonames.org/timezone?lat={$lat}&lng={$lng}";
    $timedata = file_get_contents($url);
    $sxml = simplexml_load_string($timedata);
    return $sxml->timezone->time;
}

来源:http://www.phpclasses.org/browse/file/22382.html(免费注册)

显然这不使用Yahoo API,但它非常轻量级......

答案 1 :(得分:0)

question可以帮助您获取邮政编码的时区。 This answer也可能会有所帮助。