用sqlite3读取unix时间戳

时间:2016-04-09 16:54:25

标签: sqlite

在sqlite3数据库中,我将日期和时间存储为unix时间戳。我们可以在数据库中找到unix时间戳的示例:1457600307000, 1457600109000, 1457599991000

执行以下查询时:

SELECT datetime(my_date, 'unixepoch') as last_update 
FROM my_table;

结果不是我们所期望的。我们从执行该查询获得的日期是:-1413-03-01 13:07:12

我们实际上期望March / April 2016的日期和时间。

无论如何我可以sqlite3正确读取时间戳吗?

1 个答案:

答案 0 :(得分:3)

从纪元开始到毫秒的数量之间存在差异。除以1000:

const

SqlFiddleDemo

输出:

SELECT my_date, datetime(my_date/1000, 'unixepoch') as last_update 
FROM my_table;
  

当我们真正期待2016年3月/ 4月的日期和时间时。

看起来它在范围内。