簡體   English   中英

如何將格式為 'YYYY-DD-MM HH:MI:SS.MS +00:00' 的字符串轉換為 postgres timestamptz,其中最后四個字符是時區偏移量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM