2009-09-04 13 views
14

Chúng tôi đang chạy trong mã java của chúng tôi với GregorianCalendar. Chúng tôi muốn tồn tại những điều này trong cơ sở dữ liệu postgresql của chúng tôi như GMT +0 thời gian trong cột loại dấu thời gian, nhưng chúng tôi không chắc chắn làm thế nào để đi về nó. Các trường có được đóng dấu thời gian hay không? Bằng một mã thông báo tương tự có chức năng postgres thời gian "hiện tại", chúng tôi có đang sử dụng current_timestamp or localtimestamp không?Làm cách nào để sử dụng thời gian GMT trong postgresql?

+0

không liên quan trực tiếp đến câu hỏi của bạn, nhưng chỉ muốn cho bạn thấy http://joda-time.sourceforge.net/ joda thời gian là một chút dễ dàng hơn để đối phó với. :) http://joda-time.sourceforge.net/userguide.html#TimeZones –

+0

Cảm ơn, thật không may là rất khó để thêm thư viện vào dự án của chúng tôi. – Adam

Trả lời

32

Bắt đầu tại đây - phần 8.5.3. "Time Zones" từ tài liệu.

Sự khác biệt giữa CURRENT_TIMESTAMP và LOCALTIMESTAMP là loại của kết quả - lợi nhuận cựu "timestamp với múi giờ" và sau này - "dấu thời gian":

milen=> select CURRENT_TIMESTAMP; 
       now 
------------------------------- 
2009-09-05 01:21:37.595704+03 
(1 row) 

milen=> select LOCALTIMESTAMP; 
     timestamp 
---------------------------- 
2009-09-05 01:21:41.956355 
(1 row) 

Đó là một vấn đề khác hoàn toàn lúc đó khu vực bạn muốn xem thời gian hiện tại. Trong trường hợp này, múi giờ mặc định (có thể được đặt theo nhiều cách, tất cả được mô tả trong phần được liên kết ở trên) là quan trọng. Ngoài ra bạn có thể sử dụng "AT TIME ZONE" trong một truy vấn để có được thời gian hiện tại múi giờ cụ thể mà không "loay hoay" với "múi giờ" thiết lập:

milen=> select CURRENT_TIMESTAMP AT TIME ZONE 'UTC'; 
      timezone 
---------------------------- 
2009-09-04 22:21:44.418236 
(1 row) 
+0

Cảm ơn, sau khi xem qua trang, bây giờ tôi hiểu sự khác biệt của các trường có hoặc không có dấu thời gian và chúng tôi sẽ không có. Tuy nhiên khi sử dụng cả localtimestamp và current_timestamp lần chúng ta nhận được giờ địa phương, không phải GMT – Adam

Các vấn đề liên quan