我有约会(01-oct-2014),时间(00:37:31),GMT差异(-360)现在 我想把时间转移到CST。解决方案可以是javascript 或oracle数据库。
我已经阅读了几篇文章,但可能无法获得任何地方......可以帮助我解决这个问题......
答案 0 :(得分:0)
在Oracle中,要将当地时间转换为其他时区的时间,您需要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
。
答案 1 :(得分:0)
有几种方法可以做到这一点:
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;
这取决于结果是否包括新的时区。