PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres UTC-Datumsformat und Epochenumsetzung, Vorzeichenumkehrung

Dies

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

ist ein Zeitstempel nach ISO 8601 mit einem Versatz von +1 Stunde und +1 bedeutet östlich von Greenwich. Die Offsets in diesen

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

wird als Zeitzone im POSIX-Stil interpretiert, wobei +1 Westen bedeutet von Greenwich:

PostgreSQL akzeptiert Zeitzonenangaben im POSIX-Stil der Form STDoffset oder STDoffsetDST, wobei STD eine Zonenabkürzung ist, Offset ein numerischer Offset in Stunden westlich von UTC

und diese kommen sogar mit einer Warnung:

Man sollte vorsichtig sein, dass die Zeitzonenfunktion im POSIX-Stil dazu führen kann, dass falsche Eingaben stillschweigend akzeptiert werden, da die Plausibilität der Zonenabkürzungen nicht überprüft wird. Beispiel:SET TIMEZONE TO FOOBAR0 wird funktionieren, wobei das System effektiv eine ziemlich eigenartige Abkürzung für UTC verwendet. Ein weiteres zu beachtendes Problem ist, dass in POSIX-Zeitzonennamen positive Offsets für Standorte westlich von Greenwich verwendet werden. Überall sonst folgt PostgreSQL der ISO-8601-Konvention, dass positive Zeitzonen-Offsets östlich von Greenwich sind.

Beachten Sie den Unterschied zwischen West und Ost.