“Postgresql Changement du fuseau horaire sur l'horodatage sans fuseau horaire” Réponses codées

Postgres set fuseau

SET TIME ZONE 'Europe/Moscow';
Evolcon

horodatage avec le fuseau horaire postgres

foo=> SET TIMEZONE TO 'Japan';
SET
foo=> SELECT '2011-01-01 00:00:00'::TIMESTAMP;
      timestamp      
---------------------
 2011-01-01 00:00:00
(1 row)

foo=> SELECT '2011-01-01 00:00:00'::TIMESTAMP WITH TIME ZONE;
      timestamptz       
------------------------
 2011-01-01 00:00:00+09
(1 row)

foo=> SELECT '2011-01-01 00:00:00+03'::TIMESTAMP;
      timestamp      
---------------------
 2011-01-01 00:00:00
(1 row)

foo=> SELECT '2011-01-01 00:00:00+03'::TIMESTAMP WITH TIME ZONE;
      timestamptz       
------------------------
 2011-01-01 06:00:00+09
(1 row)

foo=> SET TIMEZONE TO 'Australia/Melbourne';
SET
foo=> SELECT '2011-01-01 00:00:00'::TIMESTAMP;
      timestamp      
---------------------
 2011-01-01 00:00:00
(1 row)

foo=> SELECT '2011-01-01 00:00:00'::TIMESTAMP WITH TIME ZONE;
      timestamptz       
------------------------
 2011-01-01 00:00:00+11
(1 row)

foo=> SELECT '2011-01-01 00:00:00+03'::TIMESTAMP;
      timestamp      
---------------------
 2011-01-01 00:00:00
(1 row)

foo=> SELECT '2011-01-01 00:00:00+03'::TIMESTAMP WITH TIME ZONE;
      timestamptz       
------------------------
 2011-01-01 08:00:00+11
(1 row)
Nutty Nightingale

Postgres Insérer l'horodatage sans fuseau horaire


            
                
            
         INSERT INTO timestamp_demo (ts, tstz)
VALUES('2016-06-22 19:10:25-07','2016-06-22 19:10:25-07');Code language: SQL (Structured Query Language) (sql)
Determined Donkey

Postgresql Changement du fuseau horaire sur l'horodatage sans fuseau horaire

-- You have an issue where entries in the database are recorded in local time without the timezone
-- Postgresql assumes that these entries are in fact UTC
-- This corrects these entries by converting them to actual UTC
-- You might want to update the column (from timestamp) to a timestamptz, then perform the command below
UPDATE <table>
SET <timestamptz_field> = 
  (<timestamptz_field> AT TIME ZONE 'UTC') AT TIME ZONE '<correct_time_zone>';
  
-- e.g start_date_time before = '2021-07-29 18:15:16+00' (This is from a location at GMT+2)
-- start_date_time after = '2021-07-29 16:15:16+00' (This is the actual UTC timestamp)
UPDATE public.uut_result
	SET start_date_time= (start_date_time at time zone 'utc') at time zone 'Africa/Harare'
Muddy Moose

Réponses similaires à “Postgresql Changement du fuseau horaire sur l'horodatage sans fuseau horaire”

Questions similaires à “Postgresql Changement du fuseau horaire sur l'horodatage sans fuseau horaire”

Plus de réponses similaires à “Postgresql Changement du fuseau horaire sur l'horodatage sans fuseau horaire” dans Sql

Parcourir les réponses de code populaires par langue

Parcourir d'autres langages de code