PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Định dạng ngày Postgres UTC &truyền kỷ nguyên, đảo ngược ký hiệu

Điều này

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

là dấu thời gian ISO 8601 với chênh lệch +1 giờ và +1 nghĩa là phía đông Greenwich. Sự bù đắp trong những

này
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

sẽ được hiểu là múi giờ kiểu POSIX trong đó +1 có nghĩa là phía tây của Greenwich:

PostgreSQL sẽ chấp nhận các thông số kỹ thuật múi giờ kiểu POSIX của biểu mẫu STDoffset hoặc STDoffsetDST, trong đó STD là chữ viết tắt của vùng, offset là phần bù số tính bằng giờ về phía tây từ UTC

và những điều đó thậm chí đi kèm với một cảnh báo:

Người ta nên cảnh giác rằng tính năng múi giờ kiểu POSIX có thể dẫn đến việc âm thầm chấp nhận đầu vào không có thật, vì không có sự kiểm tra về tính hợp lý của các chữ viết tắt của múi giờ. Ví dụ:SET TIMEZONE TO FOOBAR0 sẽ hoạt động, để lại hệ thống một cách hiệu quả bằng cách sử dụng một chữ viết tắt khá đặc biệt cho UTC. Một vấn đề khác cần lưu ý là trong tên múi giờ POSIX, hiệu số dương được sử dụng cho các vị trí phía tây Greenwich. Ở mọi nơi khác, PostgreSQL tuân theo quy ước ISO-8601 rằng chênh lệch múi giờ dương ở phía đông Greenwich.

Lưu ý sự khác biệt giữa phía tây và phía đông.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách triển khai PostgreSQL khả dụng cao với Điểm cuối duy nhất cho WordPress

  2. Truy vấn một tham số (cài đặt postgresql.conf) như max_connections

  3. Các trường cập nhật SQL của một bảng từ các trường của một bảng khác

  4. Các phương pháp hay nhất về bảo mật PostgreSQL

  5. Cài đặt trình điều khiển PDO cho PostgreSQL trên Mac (sử dụng Zend cho eclipse)