Recherche de fuseau horaire
Le fuseau horaire d'un point, et le décalage en vigueur à cet endroit à un moment donné.
GEThttps://api.mygeocode.com/v1/timezone
Paramètres
| Paramètre | Type | Description |
|---|---|---|
latobligatoire* | nombre | De -90 à 90. |
lonobligatoire | nombre | De -180 à 180. |
locationsfacultatif | chaîne | *Alternative à lat et lon : jusqu'à 100 points sous la forme lat,lon|lat,lon|.... Chaque point compte comme une requête ; la réponse contient un tableau results dans l'ordre d'envoi. |
tzfacultatif | chaîne | *Alternative aux coordonnées : un identifiant de zone IANA comme Europe/Zurich (un identifiant Windows est également accepté). Renvoie les mêmes champs pour cette zone, sans recherche de limites. |
timestampfacultatif | entier | Heure Unix en secondes. Par défaut : maintenant. Tout moment de 1900 à 2100 est accepté ; les décalages futurs suivent les règles publiées actuellement. |
languagefacultatif | chaîne | Langue de name, par exemple de ou pt-BR. Par défaut, l'anglais. |
keyfacultatif | chaîne | Clé d'API, si elle n'est pas envoyée dans un en-tête. |
Exemple
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/timezone?lat=-33.8688&lon=151.2093×tamp=1767225600"const url = new URL("https://api.mygeocode.com/v1/timezone");
url.searchParams.set("lat", -33.8688);
url.searchParams.set("lon", 151.2093);
url.searchParams.set("timestamp", 1767225600); // 2026-01-01T00:00:00Z
const tz = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(tz.timezone, tz.utc_offset, tz.dst);import requests
tz = requests.get("https://api.mygeocode.com/v1/timezone",
params={"lat": -33.8688, "lon": 151.2093, "timestamp": 1767225600}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5).json()
print(tz["timezone"], tz["utc_offset"], tz["dst"])Réponse
{
"status": "ok",
"lat": -33.8688,
"lon": 151.2093,
"timezone": "Australia/Sydney",
"abbreviation": "AEDT",
"utc_offset": "+11:00",
"utc_offset_seconds": 39600,
"dst": true,
"timestamp": 1767225600,
"local_time": "2026-01-01T11:00:00+11:00",
"country_code": "AU",
"next_transition": { "timestamp": 1775316000, "utc_offset": "+10:00", "dst": false }
}Champs de la réponse
| Champ | Type | Description |
|---|---|---|
timezone | chaîne | Nom IANA. Dans les eaux internationales, Etc/GMT+n ou Etc/GMT-n (notez que la convention de signe est inversée, comme dans IANA). |
abbreviation | chaîne | Abréviation à l'instant timestamp. Pour l'affichage uniquement ; non unique. |
name | chaîne | Nom complet en vigueur à l'instant timestamp, par exemple Australian Eastern Daylight Time. |
utc_offset | chaîne | ±HH:MM à l'instant timestamp. |
utc_offset_seconds | entier | La même valeur sous forme de nombre. |
raw_offset_seconds, dst_offset_seconds | entier | Décalage standard et part de l'heure d'été qui s'y ajoute (0 lorsque l'heure d'été n'est pas en vigueur). Leur somme est utc_offset_seconds. |
dst | booléen | Heure d'été en vigueur à l'instant timestamp. |
timestamp | entier | Le moment décrit. |
local_time | chaîne | Heure locale RFC 3339 avec décalage. |
country_code | chaîne ou null | ISO 3166-1 alpha-2, null en mer. |
is_ocean | booléen | Vrai pour les zones Etc/GMT utilisées dans les eaux internationales. |
windows_timezone | chaîne ou null | L'identifiant de fuseau horaire Windows correspondant selon le CLDR, par exemple W. Europe Standard Time. |
next_transition | objet ou null | Le prochain changement de décalage après timestamp, si la zone en a un. |
Remarques
- Enregistrez le nom IANA et convertissez les heures avec la base tz de votre plateforme. Utilisez les champs de décalage pour l'affichage ou pour les systèmes qui n'en disposent pas.
- Les décalages et les règles d'heure d'été suivent la base de données des fuseaux horaires IANA et sont mis à jour à chaque nouvelle version publiée.
- Les limites sont simplifiées à environ 55 m, si bien qu'un point situé à quelques mètres d'une frontière terrestre peut être rattaché à la zone voisine. Les eaux territoriales et la haute mer sont également couvertes ; les points au large reçoivent la zone nautique (
Etc/GMT+3, etc.).
La même recherche aux formats d'autres fournisseurs
Si vous avez déjà du code écrit pour l'un de ces fournisseurs, gardez-le : l'hôte compatible accepte le même chemin et les mêmes paramètres et répond dans le format de réponse de ce fournisseur, avec cet endpoint derrière. Voir le fonctionnement des hôtes compatibles.
| Fournisseur | Hôte | Chemin |
|---|---|---|
| Google Maps Platform | gapi.mygeocode.com | /maps/api/timezone/json?location=lat,lng×tamp=...&language=.. |
| Bing Maps REST Services | bing.mygeocode.com | /REST/v1/TimeZone/{lat},{lon}?datetime=.../REST/v1/TimeZone/?query=lat,lon/REST/v1/TimeZone/List?timezoneStandard=iana|windows/REST/v1/TimeZone/Convert?datetime=...&fromtz=...&desttz=... |
| LocationIQ | locationiq.mygeocode.com | /v1/timezone?lat=...&lon=... |
Erreurs
400 invalid_request lorsque lat ou lon est absent ou hors limites, que tz n'est pas une zone connue, qu'il y a plus de 100 points, ou que timestamp est en dehors de la plage 1900 à 2100. 503 unavailable lorsque les données de limites ne sont pas chargées ; rien n'est compté.