Zde v Londýně jsme aktuálně o 1 hodinu před UTC. Takže – pokud vezmu vaše časové pásmo bez časového razítka a řeknu, že je v UTC, nechám si ho vytisknout pro své místní časové pásmo.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
timezone
------------------------
2015-10-24 17:38:46+01
(1 row)
Ale chcete "EST", který se zdá být někde v Americe, soudě podle vrácené hodnoty. Pokud chcete, můžete výraz zabalit do malé funkce SQL.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'EST';
timezone
---------------------
2015-10-24 11:38:46
(1 row)
Edit:jak to udělat v dotazu
SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;
Pravděpodobně budete chtít získat úvodní knihu o SQL, pokud vám tyto věci způsobují problémy.