Tengo una fecha almacenada en postgres db, por ejemplo, 2019-09-03 15:30:03 . La zona horaria de postgres es UTC.
Cuando Grafana obtiene la fecha, es 2020-09-03T15:30:03.000000Z . Si ahora ejecuto date_trunc('day', 2020-09-03T15:30:03.000000Z ), obtengo 2020-09-03T00:00:00.000000Z . Pero quiero la medianoche en mi zona horaria local.
gracias de antemano miguel
Obtenga la zona horaria local (compensación):
select to_char(now(), 'OF'); -- result '+03' for EESTObtenga la hora UTC correspondiente a la medianoche hora local:
select date_trunc('DAY', now()) at time zone 'UTC'; -- result '2020-06-05 21:00:00.0' for 13:30 EEST on 2020-06-06Convierta la hora UTC a la hora de la zona horaria local:
select now(); -- Local time is 2020-06-06 13:43:27.482463 select (now() at time zone 'UTC'); -- UTC time is 2020-06-06 10:43:27.482463 select '2020-06-06 10:43:27.482463UTC'::timestamp with time zone; -- UTC time converted to local time is 2020-06-06 13:43:27.482463Espero que esto ayude.