1
那些給出一個正確的結果:PostgreSQL的:SET TIME ZONE格式化
SET TIME ZONE '-04';
或SET TIME ZONE INTERVAL '-04:00';
SELECT current_setting('TIMEZONE'), now();
current_setting | now
-----------------+-------------------------------
-04:00:00 | 2014-10-29 06:45:35.694796-04
雖然這些被倒置:
SET TIME ZONE '-04:00';
SELECT current_setting('TIMEZONE'), now();
current_setting | now
-----------------+-------------------------------
-04:00 | 2014-10-29 14:52:25.322796+04
SET TIME ZONE '-04:00:00';
SELECT current_setting('TIMEZONE'), now();
current_setting | now
-----------------+-------------------------------
-04:00:00 | 2014-10-29 14:52:33.591539+04
我在做什麼錯?
我認爲這是一個錯誤。這是因爲POSIX時區與「正常」時區相反。請通過錯誤報告表單提出。 – 2014-10-29 12:00:56
@CraigRinger根據下面的答案,你還認爲這是一個錯誤?也許至少這種記錄的行爲值得一些改進,比如在沒有識別POSIX風格的時區時提出警告,或者當我們想要使用POSIX風格時需要明確的格式化? – Victor 2014-10-30 15:45:21
我認爲這是一個記錄的錯誤;-)。我知道POSIX時區處理很醜陋,但並沒有意識到這是醜陋的。我們真的需要一個嚴格的模式。所以這不是新的,也沒有必要報告,但是......糟糕。 – 2014-10-30 21:51:16