首页 > 解决方案 > 从纪元时间转换为日期 UTC+2 小时

问题描述

我正在尝试从 Oracle DB 表中提取数据,并且能够正确转换时间列,但是它应该是 -2 小时。

请记住,该StartTime专栏是在 Epochtime 中。你能解释一下我的查询有什么问题吗?

列名是: Description,StartTime

select Description,
       TO_CHAR(FROM_TZ(CAST(
          DATE '1970-01-01' + (1/24/60/60/1000) * StartTime as TIMESTAMP),
         'America/New-York'),
         'DD-MM-YYYY HH24:MI:SS') as StartTime 
  from MyTable

我试图更改America/New-York,但结果相同。

标签: oracletimezonetimezone-offset

解决方案


这就是我解决问题的方法:

select TO_CHAR(FROM_TZ(CAST(DATE '1970-01-01' + (1/24/60/60/1000) * StartTime AS TIMESTAMP), 'UTC') AT TIME ZONE 'America/New_York', 'DD-MM-YYYY HH24:MI:SS') as StartTime
from MyTable

希望这会帮助别人。


推荐阅读