将Oracle 10g中存储的UTC时间转换为本地时间



我有一个值为'2015-01-26T20:29:51Z'的varchar2(20)列。我成功地用to_date(dEnteredDate,'YYYY-MM-DD"T"HH24:MI:SS"Z"')将其转换为日期

我希望通过减去我的SessionTimeZone(当前为-07:00)将其转换为本地时间,并且有一个带时间的常规日期,没有时区信息。

我在MS SQL中使用;

SET @diff = datediff(hh,GetUTCDate(), GetDate());
SET @dlocal = DATEADD(hh, @diff, @UTCDateTime)

如何在Oracle 10g中完成相同的操作?

你可以这样做:

select to_timestamp(dEnteredDate,'YYYY-MM-DD"T"HH24:MI:SS"Z"')- interval '7' hour from test_3;

这里,- interval '7' hour将减去所需的时差,并给出没有时区的期望结果。

你可以这样做

select cast(to_timestamp_TZ(dEnteredDate||' UTC','YYYY-MM-DD"T"HH24:MI:SS"Z" tzr') at local as date) 
from ...

相关内容

  • 没有找到相关文章

最新更新