sql >> Database >  >> RDS >> PostgreSQL

Postgres UTC-datumnotatie &tijdperk gegoten, tekeninversie

Dit

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

is een ISO 8601-tijdstempel met een offset van +1 uur en +1 betekent ten oosten van Greenwich. De offsets in deze

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

wordt geïnterpreteerd als tijdzones in POSIX-stijl waarbij +1 west betekent van Greenwich:

PostgreSQL accepteert POSIX-achtige tijdzonespecificaties in de vorm STDoffset of STDoffsetDST, waarbij STD een zone-afkorting is, offset een numerieke offset in uren ten westen van UTC

en die komen zelfs met een waarschuwing:

Men moet oppassen dat de tijdzonefunctie in POSIX-stijl kan leiden tot het stilzwijgend accepteren van valse invoer, aangezien er geen controle is op de redelijkheid van de zone-afkortingen. Bijvoorbeeld SET TIMEZONE TO FOOBAR0 zal werken, waardoor het systeem effectief een nogal eigenaardige afkorting voor UTC gebruikt. Een ander probleem om in gedachten te houden is dat in POSIX-tijdzonenamen positieve offsets worden gebruikt voor locaties ten westen van Greenwich. Overal elders volgt PostgreSQL de ISO-8601-conventie dat positieve tijdzone-offsets ten oosten van Greenwich liggen.

Let op het verschil tussen west en oost.




  1. Hoe de DateTime naar de tijd te casten

  2. UNION-query met het actieve recordpatroon van codeigniter

  3. Wat betekenen geclusterde en niet-geclusterde index eigenlijk?

  4. Krijg alleen datum zonder tijd in Oracle