具有短时区ID的配置单元时区转换

问题描述

我正在尝试将UTC时间转换为本地时区。我只要求提取日期。当我尝试以下操作时,它会起作用并给出正确的结果。

select to_date(FROM_UTC_TIMESTAMP(current_timestamp(),'Pacific/Fiji'));

但是,如果我尝试使用较短的相应时区ID,则会给出错误的结果。

select to_date(FROM_UTC_TIMESTAMP(current_timestamp(),'FJT'));

解决方法

问题出在GMT和UTC短ID的不同。在上面的示例中,“ Pacific / Fiji”是基于UTC的短ID,其中“ FJT”与GMT等效。由于我们正在使用配置单元功能FROM_UTC_TIMESTAMP,因此我们必须使用基于UTC的短ID。这是UTC based short IDs

的列表