时区转换为基于CST的GMT偏移

时间:2014-10-01 05:56:14

标签: java javascript oracle timezone timezone-offset

我有约会(01-oct-2014),时间(00:37:31),GMT差异(-360)现在 我想把时间转移到CST。解决方案可以是javascript 或oracle数据库。

我已经阅读了几篇文章,但可能无法获得任何地方......可以帮助我解决这个问题......

2 个答案:

答案 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。您可能需要注意理解CSTCDT

答案 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;

这取决于结果是否包括新的时区。