我在 SQLite 中将 EPOCH timestampe 转换为日期时遇到问题,无法弄清楚为什么它不会转换。我使用的 SQL 是
select resolutiondate, datetime(resolutiondate, 'unixepoch') as dt, resolutiondate/864000 as calc, resolutiondate, from query_7798
从上面 分辨率日期 = 1680793848000 dt 中返回的值为空 计算中返回的值 = 0.002341435185185185
所以它的计算就像是 1970 年一样
有关更多信息,这是在 Redash 中通过 JIRA 的数据集成完成的
感谢您的帮助
我希望 dt 中的值返回 4/6/23(或某种格式)
看起来你需要将
resolutiondate
除以 1000:
SELECT resolutiondate,
DATETIME(resolutiondate / 1000, 'unixepoch') AS dt, -- Here!
resolutiondate / 864000 AS calc,
FROM query_7798
日期时间只保留到 9999 年,但你的数字已经很大了
从您的数字中删除 3 个零将为您提供正确答案。
我对数字进行了脱脂,以向您展示每个零的时间是如何进行的
所以将您的号码除以 1000 得到您的日期
SELECT DATETIME(1793956207, 'unixepoch');
DATETIME(1793956207, 'unixepoch') |
---|
2026-11-06 09:10:07 |
SELECT DATETIME(168079384800 , 'unixepoch');
DATETIME(168079384800 , 'unixepoch') |
---|
7296-03-22 06:00:00 |
SELECT DATETIME(16807938480 , 'unixepoch');
DATETIME(16807938480 , 'unixepoch') |
---|
2502-08-16 07:48:00 |
SELECT DATETIME(1680793848 , 'unixepoch');
DATETIME(1680793848 , 'unixepoch') |
---|
2023-04-06 15:10:48 |
SELECT DATETIME(1680793848000 / 1000 , 'unixepoch');
DATETIME(1680793848000 / 1000 , 'unixepoch') |
---|
2023-04-06 15:10:48 |