如何从SQLite获取最近3个小时的数据

时间:2015-12-15 07:52:54

标签: android sql select timestamp

我在表中插入当前系统时间的数据 System.currentTimeMillis()。因此,在获取数据时,我只需要花费最近3个小时的数据。

以下链接无法帮助我。因为这个链接使用了我没有的具体日期格式 Getting data according to last hours from sqlite

这是我的查询,但似乎无法正常工作。

SELECT * FROM Table1 where timestamp >= datetime('now','-3 hours')    

其中时间戳只是插入时的当前系统时间。

请给我任何参考或提示。

3 个答案:

答案 0 :(得分:3)

您可以使用以下

获取时间3小时的TimeStamp
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, -3);
Date threeHourBack = cal.getTime();

然后您可以将threeHourBack.getTime()传递给查询。

或者您可以在SQLite中执行此操作

SELECT * FROM Table1 where datetime(timestamp) >=datetime('now', '-3 Hour')

答案 1 :(得分:0)

可能还有其他方法。但我认为这对你有用。

 SELECT * FROM Table1 where timestamp >= (System.currentTimeMillis()-108000000)

从当前时间减去3小时,并搜索比此更重的时间。

答案 2 :(得分:0)

试试这个:

 SELECT * FROM Table1 where julianday(timestamp) >=  (julianday('now')-108000000)