将时间戳转换为日期会产生错误的时间
converting timestamp to date yields wrong hour
我有这个时间戳值:1568387621
我需要将其转换为日期。
我试过类似的方法:
SELECT TO_TIMESTAMP('19700101','yyyymmdd') + ((1568387621/1000)/24/60/60)
FROM dual;
但是没用。
我的时间是Europe/Rome。
有些转换网站告诉我转换后的值是:2019-09-13 17:13:41
相反,在 db 的最佳情况下,我获得:2019-09-13 15:13:41
哪个小时是正确的(15 或 17)。我怎样才能正确转换它?
SQL 服务器的 TIMESTAMP 数据类型与日期和时间无关!
在这里阅读第一个答案:
How to convert SQL Server's timestamp column to datetime format
为了覆盖时区,使用这个:
(TIMESTAMP '1970-01-01 00:00:00 UTC' + 1568387621 * INTERVAL '1' SECOND) AT 'Europe/Rome'
我有这个时间戳值:1568387621 我需要将其转换为日期。
我试过类似的方法:
SELECT TO_TIMESTAMP('19700101','yyyymmdd') + ((1568387621/1000)/24/60/60)
FROM dual;
但是没用。
我的时间是Europe/Rome。
有些转换网站告诉我转换后的值是:2019-09-13 17:13:41 相反,在 db 的最佳情况下,我获得:2019-09-13 15:13:41
哪个小时是正确的(15 或 17)。我怎样才能正确转换它?
SQL 服务器的 TIMESTAMP 数据类型与日期和时间无关!
在这里阅读第一个答案:
How to convert SQL Server's timestamp column to datetime format
为了覆盖时区,使用这个:
(TIMESTAMP '1970-01-01 00:00:00 UTC' + 1568387621 * INTERVAL '1' SECOND) AT 'Europe/Rome'