簡而言之,在輸入到我的Postgres DB時,我有一個格式爲「2014-12-10T12:00:14 + 07:00」的時間戳,我想用'timestampandtz'Postgres C擴展名(https://github.com/mweber26/timestampandtz) ,但我不知道如何處理確定時區的問題。在帶有C擴展名的Postgres DB中存儲帶時區的時間戳?
由於擴展名將輸入與zones.c中的完整時區名稱進行比較,數據類型將不知道如何處理「+07:00」而不是「@ Continent/City」,它期望在輸入。
事情是,我需要從「+07:00」以某種方式拉出城市,因爲我確實需要夏令時分辨率。 另外,我知道這些時間戳只來自一個國家,所以也許可以基於此來確定「@洲/城市」。
任何POV關於如何接近這一挑戰將不勝感激,謝謝!
即使沒有擴展名,PostgreSQL也能夠毫無問題地處理轉換。我嘗試了PG 9.6命令,就像這樣在時區'Europe/Berlin''上選擇'(2014-12-10T12:00:14 + 07:00'::帶時區的時間戳),並且工作正常。 PostgreSQL在時區表中標記了應用夏令時規則的時間表。所以我會先嚐試標準的方式。 – JosMac
@JosMac當然,這是正確的事情。但由於我不知道這個城市,所以+ XX - >大陸/城市的關係,我需要自己翻譯,因爲DST是一個需求... – Rehhyo