Đây chỉ là một sự hiểu lầm xuất phát từ tên loại hơi gây hiểu nhầm. Múi giờ chính nó hoàn toàn không được lưu trữ . Nó chỉ hoạt động như bù đắp để tính toán dấu thời gian UTC (đầu vào), dấu thời gian này thực sự được lưu trữ. Hoặc làm người trang trí trong việc hiển thị dấu thời gian theo múi giờ hiện tại hoặc đã cho (đầu ra). Đó là tất cả theo tiêu chuẩn SQL.
Chỉ điểm trong thời gian được lưu trữ, không có thông tin khu vực. Đó là lý do tại sao 64 bit thông tin là đủ. Dấu thời gian được hiển thị cho khách hàng theo cài đặt múi giờ hiện tại của phiên.
Chi tiết:
- Bỏ qua hoàn toàn các múi giờ trong Rails và PostgreSQL
Ngoài ra, vì Jon đã đề cập đến nó, time with time zone
được định nghĩa trong tiêu chuẩn SQL và do đó được triển khai trong Postgres, nhưng việc sử dụng nó không được khuyến khích:
time with time zone
được định nghĩa bởi tiêu chuẩn SQL, nhưng các thuộc tính xác định cấm các thuộc tính dẫn đến tính hữu dụng đáng ngờ.
Đây là một loại vốn không rõ ràng nên không thể xử lý DST đúng cách.