使用時區,這個問題是不清楚最初發布,所以我完全重寫它:指定爲基於前兩個答案的參考時區
以下問題與如何只關注以及存儲了什麼數據,並且在檢索時沒有關於轉換數據的形式或形式。因此,將SELECT轉換爲所需的時區不是一個合適的答案。
將值插入帶時區字段的時間戳時,會將其檢索到(因此可能存儲),並將時間戳轉換爲數據庫插入時的本地時區。
也就是說,插入爲2012-01-01 00:00:00+00:00
的時間戳被檢索爲2011-12-31 19:00:00-05
,其中插入時數據庫的本地時區爲-05
。在數據庫爲-04
的夏令時期間插入的時間戳使用-04
時區返回。
我想要的是所有時間戳在存儲時使用任意時區(因此所有時間戳都不需要進行任何額外的工作,因爲具有該時區)。也就是說,圍繞地球運行的服務器,所有時間將在+00:00
(任意時區),而不是-12:00
到+12:00
。
我可以插入帶有時區列的時間戳嗎,以便所有時間戳都相對於任意時區存儲嗎?如果是這樣,怎麼樣?
原來如下。
將值插入到timestamp with time zone
字段中時,它將轉換爲服務器的當前時區。
示例:如果我插入一個指定時區-1
的值,則檢索它將返回-5
(服務器插入時的時區)的時間。
是否可以指定它應該使用任意時區進行存儲?
注意:這個問題不是如何將返回的時間轉換爲另一個時區,這是特定於如何存儲時間。