[英]How do I convert a string of the form 'YYYY-DD-MM HH:MI:SS.MS +00:00' where last four chars are a timezone offset into a postgres timestamptz?
如何將格式為 'YYYY-DD-MM HH:MI:SS.MS +00:00' 的字符串轉換為 postgres timestamptz,其中最后四個字符是時區偏移量?
這似乎不起作用:
select '2018-06-13 04:11:46.873 -07:00'::timestamptz;
timestamptz
----------------------------
2018-06-13 11:11:46.873+00
(1 row)
輸出是正確的。 timestamp with time zone
類型有點誤導,其行為與例如在 Oracle 中不同。
對於帶時區的時間戳,內部存儲的值始終采用 UTC(世界協調時間,傳統上稱為格林威治標准時間,GMT)。 使用該時區的適當偏移量將具有指定顯式時區的輸入值轉換為 UTC。
輸入'2018-06-13 04:11:46.873 -07:00'::timestamptz
根據給定的時區偏移量轉換為相應的 UTC 值。 然后,該值被轉換為會話時區和發送到客戶端,然后導致2018-06-13 11:11:46.873+00
在會話的時區。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.