2014-01-27 147 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。

相关问题