Renvoie le fuseau horaire d'un emplacement ponctuel donné.
Syntaxe
cstring ST_TimeZone(geometry point, boolean timezoneId, integer timezonePrecision);
cstring ST_TimeZone(geography point, boolean timezoneId, integer timezonePrecision);
Paramètres
| Paramètre | Description |
|---|---|
point |
Objet geometry ou geography. Doit être un point utilisant le système de référence spatiale WGS84 (srid=4326). |
timezoneId |
Indique s'il faut renvoyer le nom du fuseau horaire. Valeurs possibles : true (par défaut) : renvoie le nom du fuseau horaire, par exemple Asia/Shanghai. false : renvoie le fuseau horaire au format GMT, par exemple Etc/GMT+8. |
timezonePrecision |
Précision de la recherche des limites du fuseau horaire. Pris en compte uniquement si timezoneId est défini sur true. Valeurs possibles : 16 (par défaut) : précision de 0,0055 degré (~500 m). 21 : précision de 0,00017 degré (~20 m). |
Valeur de retour
Renvoie une valeur cstring contenant la chaîne de caractères du fuseau horaire.
Description
La fonction ST_TimeZone renvoie le fuseau horaire associé à un point géographique donné. Les données relatives aux limites des fuseaux horaires proviennent du projet Timezone Boundary Builder.
Exemples
Renvoyer le nom du fuseau horaire pour un point de type geometry :
SELECT ST_TimeZone('SRID=4326;POINT(121 37)'::geometry);
----
Asia/Shanghai
Renvoyer le nom du fuseau horaire pour un point de type geography :
SELECT ST_TimeZone('POINT(60 37)'::geography);
----
Asia/Tehran
Renvoyer le fuseau horaire au format GMT :
-- Set timezoneId to false to return the GMT format instead of the name format.
SELECT ST_TimeZone('SRID=4326;POINT(121 37)'::geometry, false);
----
Etc/GMT+8
Renvoyer le fuseau horaire avec une précision accrue :
-- Set timezonePrecision to 21 for ~20 m precision instead of the default ~500 m.
SELECT ST_TimeZone('SRID=4326;POINT(-121 37)'::geometry, true, 21);
----
America/Los_Angeles
Gérer un point dont la longitude se situe en dehors de la plage valide :
-- The specified longitude exceeds the valid range (> 180°).
SELECT ST_TimeZone(('SRID=4326;POINT(400 37)'::geometry));
----
Europe/Istanbul