PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Konvertieren Sie eine UTC-Zeitzone in postgresql in EST (Ortszeit)

Hier in London sind wir der UTC derzeit 1 Stunde voraus. Also - wenn ich Ihre Zeitzone ohne Zeitstempel nehme und sage, dass sie in UTC ist, werde ich sie für meine lokale Zeitzone drucken lassen.

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
        timezone        
------------------------
 2015-10-24 17:38:46+01
(1 row)

Aber Sie wollen "EST", das irgendwo in Amerika zu sein scheint, nach dem zurückgegebenen Wert zu urteilen. Sie können den Ausdruck in eine kleine SQL-Funktion packen, wenn Sie möchten.

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)

Bearbeiten:wie man es in einer Abfrage macht

SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;

Sie sollten sich wahrscheinlich ein Einführungsbuch zu SQL besorgen, wenn Ihnen so etwas Probleme bereitet.