PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres UTC формат на дата и епоха, инверсия на знака

Това

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

е клеймо за време по ISO 8601 с отместване +1 час и +1 означава източно от Гринуич. Отместванията в тези

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

ще се интерпретира като часови зони в стил POSIX, където +1 означава запад от Гринуич:

PostgreSQL ще приема спецификации на часовата зона в стил POSIX под формата STDoffset или STDoffsetDST, където STD е съкращение на зоната, отместването е числово изместване в часове на запад от UTC

и дори идват с предупреждение:

Трябва да се внимава, че функцията за часови зони в стил POSIX може да доведе до безшумно приемане на фалшиви данни, тъй като няма проверка за разумността на съкращенията на зоните. Например, SET TIMEZONE TO FOOBAR0 ще работи, оставяйки системата ефективно, използвайки доста странно съкращение за UTC. Друг проблем, който трябва да имате предвид, е, че в имената на часовите зони POSIX се използват положителни отмествания за местоположения западно от Гринуич. Навсякъде другаде PostgreSQL следва конвенцията ISO-8601, според която положителните измествания на часовата зона са на изток от Гринуич.

Обърнете внимание на разликата между запад и изток.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разделите таблица на postgres с помощта на междинна таблица

  2. PostgreSQL:Защо psql не може да се свърже със сървъра?

  3. PostgreSQL:експортирайте получените данни от SQL заявка в Excel/CSV

  4. isnumeric() с PostgreSQL

  5. Грешка при PG COPY:невалиден синтаксис на въвеждане за цяло число