Bạn luôn luôn lấy same data in browser client as the db original value
. Chỉ có nhiều cách khác nhau để hiển thị cùng một thời điểm (ở các múi giờ khác nhau). Hai ví dụ (trình bày văn bản của timestamptz
giá trị):
'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'
Cùng một giá trị .
Theo như Postgres có liên quan, thiết lập múi giờ của máy chủ hoàn toàn không liên quan đến điều này. Điều duy nhất có liên quan là thiết lập của phiên. Và điều duy nhất thay đổi là màn hình hiển thị của giá trị. Nó luôn luôn giống nhau về thời gian.
Vì vậy, chỉ cần đặt múi giờ trong phiên của bạn để có được biểu diễn văn bản theo:
- Đặt múi giờ của phiên bản PostgreSQL
- Kết xuất và khôi phục PostgreSQL ở múi giờ khác
- Đặt múi giờ của cột dấu thời gian trong PostgreSQL
Một tùy chọn khác sẽ là AT TIME ZONE
xây dựng. Để lấy timestamp
là địa phương timestamp without time zone
:
SELECT my_timestamptz_column AT TIME ZONE '-8';
Khi xử lý một bảng table that contains a column of timezone type
, đây có thể là cách tiếp cận tốt hơn, vì múi giờ có thể thay đổi cho mọi hàng.
Một lần nữa, tất cả những điều này đều nằm trong câu trả lời tham khảo: