PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Formato de data Postgres UTC e elenco de época, inversão de sinal


Esse
1970-01-01 00:00:00+01

é um carimbo de data/hora ISO 8601 com um deslocamento de +1 hora e +1 significa leste de Greenwich. As compensações nestes
01-01-1970 00:00:00 UTC+01
1970-01-01 00:00:00 UTC+01
1970-01-01 00:00:00 XXX+01
1970-01-01 00:00:00 HAHA+01
1970-01-01 00:00:00 Pancakes+01

será interpretado como fusos horários no estilo POSIX, onde +1 significa oeste de Greenwich:

O PostgreSQL aceitará especificações de fuso horário no estilo POSIX no formato STDoffset ou STDoffsetDST, onde STD é uma abreviação de zona, offset é um deslocamento numérico em horas a oeste do UTC

e esses ainda vêm com um aviso:

Deve-se ter cuidado com o fato de que o recurso de fuso horário no estilo POSIX pode levar à aceitação silenciosa de entrada falsa, pois não há verificação da razoabilidade das abreviações de zona. Por exemplo, SET TIMEZONE TO FOOBAR0 funcionará, deixando o sistema efetivamente usando uma abreviação bastante peculiar para UTC. Outra questão a ter em mente é que em nomes de fuso horário POSIX, deslocamentos positivos são usados ​​para locais a oeste de Greenwich. Em todos os outros lugares, o PostgreSQL segue a convenção ISO-8601 de que os deslocamentos positivos de fuso horário estão a leste de Greenwich.

Observe a diferença oeste versus leste.