我的數據庫服務器的TIMEZONE是UTC。我有不同的時區與數據庫交互的Java服務器。天真地我發現,如果我有一個TIMESTAMP字段,我真的沒有辦法將它從Java服務器的JPA代碼中設置爲UTC。我想我天真地認爲,如果JDBC總是發送TZ信息的日期,並且數據庫服務器可以基於它的時區適當地轉換或者轉換。但不是。 (地理位置分散的服務器,PostgreSQL和JPA
這裏有一些問題,我可能在不同的時區與這個數據庫服務器交互的Java服務器如果東海岸的晚上9點和西岸的晚上6點發生什麼事情,我希望這兩個事件都存儲在數據庫在同一時間,對吧?
那麼有什麼解決方案,我想我可以把所有的Java服務器都放在UTC中,但似乎應該有一個不太重的解決方案,我想我也可以設置時區在每一筆交易,但呃
我知道我會得到一些答案,說我應該只在數據庫中存儲多頭,雖然我很欣賞這個答案的真實性,我想保留TIMEZONE和我的數據庫表中的DATE字段。所以我正在尋找其他類型的答案。謝謝。
不要忘記使用NTP同步時鐘 – Leo
我認爲您希望'timestamp with時區「,而不是」時間戳「。如果您還希望保留時區/偏移量,則必須單獨存儲它 - 具有時區類型的時間戳的命名在這方面是相當具有欺騙性的。感謝SQL標準。 –
如果postgres服務器在UTC中運行,這會如何改變? –