2010-10-27 43 views
2

J'utilise cette question (yahoo-weather-api-woeid-retrieval) pour convertir un US ZIP en valeur Yahoo WOEID. Cependant, alors que la réponse de Yahoo renvoie toutes sortes de choses intéressantes, ce que je suis intéressé à obtenir est le fuseau horaire correct de l'emplacement.Obtenir le fuseau horaire à partir d'un Yahoo WOEID

Existe-t-il un moyen facile de renvoyer le fuseau horaire de Yahoo, ou de mapper un WOEID (ou ZIP dans ce domaine) à une valeur de fuseau horaire? En guise de repli si je reçois une prévision météorologique d'un WOEID américain, cette donnée comprend l'heure locale avec le fuseau horaire au moment de la prévision (c.-à-d. Qu'elle renvoie EDT, PDT HST, etc.). Donc, je peux gratter les données à partir de là, mais je préférerais l'associer davantage aux données de localisation. Un exemple de ceci est:

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

Répondre

0

Ce question pourrait vous aider à obtenir le fuseau horaire pour un code postal. This answer pourrait également aider.

+0

J'ai déjà vu ces questions mais je suis particulièrement à la recherche d'une solution basée sur l'API Yahoo. Je sais que Yahoo sait ce que je veux savoir. –

1

Je ne crois pas que la fonctionnalité que vous voulez soit exposée. Les exemples que je l'ai vu faire quelque chose comme ça (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; 
} 

Source: http://www.phpclasses.org/browse/file/22382.html (req Inscription gratuite)

Il est évident que cela ne pas utiliser l'API Yahoo mais il est assez léger.