从纪元时间转换为日期 UTC+2 小时



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

请记住,StartTime列位于大纪元时间。 你能向我解释一下我的查询有什么问题吗?

列名称为:DescriptionStartTime

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,但最终得到了相同的结果。

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

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

希望这对其他人有帮助。

最新更新