2014-01-27 149 views
0

我有一個時間日期(例如21-Mar-2014 08:00:00)和一個時區(如「美國/丹佛」),我想把這個日期轉換成格林威治標準時間在;我怎麼能這樣做?轉換日期與時間爲格林尼治標準時間

我也想知道Oracle是否需要DST?它會自動處理嗎?是否所有時區都以相同的方式支持?

備註:「from timezone」在每種情況下都會改變;因此,它並不總是美洲/丹佛

+0

要轉換爲格林威治標準時間或UTC?或者,格林尼治標準時間和格林威治標準時間(GMT + 1)在夏季? – Ben

+0

GMT和UTC是相同的,它現在稱爲UTC @Ben – user2841408

+0

我想將它轉換爲GMT @Ben – user2841408

回答

0

這裏是函數的列表,你可以使用:

BEGIN 
    DBMS_OUTPUT.PUT_LINE('Timestamp: ' || TO_TIMESTAMP('2014-03-21 08:00:00', 'yyyy-mm-dd hh24:mi:ss')); 
    DBMS_OUTPUT.PUT_LINE('Timestamp with timezone: ' || FROM_TZ(TO_TIMESTAMP('2014-03-21 08:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'America/Denver')); 
    DBMS_OUTPUT.PUT_LINE('Timestamp at UTC: ' || FROM_TZ(TO_TIMESTAMP('2014-03-21 08:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'America/Denver') AT TIME ZONE 'UTC'); 
END; 

Timestamp:    2014-03-21 08:00:00.000000000 
Timestamp with timezone: 2014-03-21 08:00:00.000000000 -06:00 
Timestamp at UTC:  2014-03-21 14:00:00.000000000 +00:00 

長時區的名稱,如「美國/丹佛」考慮DST。如果您指定時區類似「-07:00」,則不考慮DST。

相關問題