Retorna o fuso horário de uma localização geográfica específica.
Sintaxe
cstring ST_TimeZone(geometry point, boolean timezoneId, integer timezonePrecision);
cstring ST_TimeZone(geography point, boolean timezoneId, integer timezonePrecision);
Parâmetros
|
Parâmetro |
Descrição |
|
|
Objeto geometry ou geography. Deve ser um ponto com sistema de referência espacial WGS84 ( |
|
|
Define se a função retorna o nome do fuso horário. Valores válidos: |
|
|
Precisão da consulta aos limites do fuso horário. Válido apenas quando |
Valor de retorno
Retorna um cstring com a string do fuso horário.
Descrição
A função ST_TimeZone identifica o fuso horário em um ponto geográfico fornecido. Os dados de limites de fuso horário provêm do projeto Timezone Boundary Builder.
Exemplos
Obtenha o nome do fuso horário para um ponto geometry:
SELECT ST_TimeZone('SRID=4326;POINT(121 37)'::geometry);
----
Asia/Shanghai
Obtenha o nome do fuso horário para um ponto geography:
SELECT ST_TimeZone('POINT(60 37)'::geography);
----
Asia/Tehran
Obtenha o fuso horário no formato 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
Obtenha o fuso horário com maior precisão:
-- 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
Processe um ponto com longitude fora do intervalo válido:
-- The specified longitude exceeds the valid range (> 180°).
SELECT ST_TimeZone(('SRID=4326;POINT(400 37)'::geometry));
----
Europe/Istanbul