Oracle-将Unixtime转换为本地日期时间,包括DST(夏令时),反之亦然

问题描述 投票:0回答:1

我有一个带有UnixTimestamps的NUMBER field(UTCSTAMP),我希望有一个函数可以轻松地返回包括DST(夏令时)在内的本地日期时间(欧洲/阿姆斯特丹)。输出应为以下格式:'yyyy-mm-dd hh24:mi:ss'例如:unix_ts2date_function(1576666800)

我发现了这篇文章:Convert Unixtime to Datetime SQL (Oracle),但是它[[没有考虑了夏令时。

我还希望有一个功能,可以轻松地将包括DST(夏令时)在内的本地日期时间(欧洲/阿姆斯特丹)转换为UnixTimestamp,并在WHERE子句中使用它。例如:

SELECT * FROM table WHERE UTCSTAMP > date2unix_ts_function('2019-05-01') (DST is active) AND UTCSTAMP < date2unix_ts_function('2020-11-30') (DST not active)

我也发现了这篇文章:Convert timestamp datatype into unix timestamp Oracle,但它也没有考虑夏令时。
oracle unix-timestamp
1个回答
0
投票
SELECT ( TIMESTAMP '1970-01-01 00:00:00 UTC' + utcstamp * INTERVAL '1' SECOND ) AT TIME ZONE 'Europe/Amsterdam' AS Amsterdam_Time FROM your_table
© www.soinside.com 2019 - 2024. All rights reserved.