Dans PostgreSQL et en supposant un scénario simplifié de se concentrer sur la conversion de vos estampilles pour IST
tel est celui-ci:
CREATE TABLE locations
(
id serial PRIMARY KEY,
your_timestamp timestamp with time zone
) ;
REMARQUE: n'utilisez pas timestamp
comme nom de colonne pour éviter les confusions. timestamp
est déjà un type
.
INSERT INTO locations
(your_timestamp)
VALUES
('2017-01-01 10:00:00 UTC'),
('2017-01-01 10:00:00 Europe/Rome'),
('2017-01-01 10:00:00 America/New_York'),
('2017-01-01 10:00:00 IST') ;
Vous souhaitez convertir tous les temps (non seulement ceux qui sont déjà entrés en UTC, ou avec le fuseau horaire local du client qui se connecte à la base de données), vous utilisez:
SELECT
id,
your_timestamp,
your_timestamp AT TIME ZONE 'UTC' AS timestamp_utc,
your_timestamp AT TIME ZONE 'IST' AS timestamp_ist
FROM
locations ;
id | your_timestamp | timestamp_utc | timestamp_ist
-: | :--------------------- | :------------------ | :------------------
1 | 2017-01-01 10:00:00+00 | 2017-01-01 10:00:00 | 2017-01-01 12:00:00
2 | 2017-01-01 09:00:00+00 | 2017-01-01 09:00:00 | 2017-01-01 11:00:00
3 | 2017-01-01 15:00:00+00 | 2017-01-01 15:00:00 | 2017-01-01 17:00:00
4 | 2017-01-01 08:00:00+00 | 2017-01-01 08:00:00 | 2017-01-01 10:00:00
Vous pouvez vérifier à dbfiddle here
Références:
je ne sais pas l'équivalent MySQL. J'espère que vous utilisez réellement PostgreSQL, puisque vos identifiants sont "double quoted"
et non `backtick quoted`
comme dans MySQL.
Quelle est votre véritable * question *? – joanolo
je dois convertir ce format en ist (actuellement il montre selon utc) en utilisant mysql requêtes – Addictd