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

San*_*til 2 sql select android timestamp

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

以下链接对我没有帮助。因为这个链接使用了我没有的特定日期格式。
根据过去几小时从 sqlite 获取数据

这是我的查询,但似乎不起作用。

SELECT * FROM Table1 where timestamp >= datetime('now','-3 hours')    
Run Code Online (Sandbox Code Playgroud)

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

请给我任何参考或提示。

Sha*_*mar 5

您可以使用以下方法获得 3 小时的时间戳记

Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, -3);
Date threeHourBack = cal.getTime();
Run Code Online (Sandbox Code Playgroud)

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

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

SELECT * FROM Table1 where datetime(timestamp) >=datetime('now', '-3 Hour')
Run Code Online (Sandbox Code Playgroud)