Ici à Londres, nous avons actuellement 1 heure d'avance sur UTC. Donc - si je prends votre fuseau horaire sans horodatage et que je dis qu'il est en UTC, je le ferai imprimer pour mon fuseau horaire local.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
timezone
------------------------
2015-10-24 17:38:46+01
(1 row)
Mais vous voulez "EST" qui semble être quelque part dans les Amériques, à en juger par la valeur renvoyée. Vous pouvez envelopper l'expression dans une petite fonction SQL si vous le souhaitez.
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)
Modifier :comment le faire dans une requête
SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;
Vous voudrez probablement vous procurer un livre d'introduction à SQL si ce genre de chose vous pose des problèmes.