[英]Time zone conversion to CST based GMT offset
我現在有日期(2014年10月1日),時間(00:37:31),格林尼治標准時間差(-360),現在我想讓時間充斥CST。 解決方案可以在javascript或oracle數據庫中。
我讀過幾篇文章,但是找不到任何地方。.有人可以幫我解決這個問題嗎?
在Oracle中,要將本地時間轉換為另一個時區的時間,您需要CAST TIMESTAMP WITH TIMEZONE
進行CAST TIMESTAMP WITH TIMEZONE
。
例如,我想將“ IST”印度標准時間(即本地時區)轉換為“ CST”(即中部):
SQL> WITH T AS
2 ( SELECT to_timestamp('10/01/2014 11','mm/dd/yyyy hh24') ist FROM dual
3 )
4 SELECT ist,
5 CAST(CAST(ist AS TIMESTAMP WITH TIME ZONE) at TIME zone 'CST' AS TIMESTAMP) cst
6 FROM t
7 /
IST CST
----------------------------------- ------------------------------
01-OCT-14 11.00.00.000000000 AM 01-OCT-14 12.30.00.000000 AM
請注意Daylight saving
。 您可能需要注意CST
和CDT
理解。
做這件事有很多種方法:
SELECT
(TIMESTAMP '2014-10-01 00:37:31') AT TIME ZONE 'CST',
FROM_TZ((TIMESTAMP '2014-10-01 00:37:31'), 'CST'),
CAST((TIMESTAMP '2014-10-01 00:37:31') AT TIME ZONE 'CST' AS TIMESTAMP)
FROM DUAL;
這取決於結果是否應包括新時區。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.