0

我想从 SQLite 数据库中检索具有start_time“今天”的事件列表。start_time包含一个时间戳,例如这样1338613200000

我试过这个:

SELECT * FROM events WHERE date(start_time, 'unixepoch')=date('now')

不工作...

我用这样的语句在 MySQL 中实现了同样的事情:

SELECT * FROM events WHERE DATE(start_time)=CURDATE();

编辑: 这是我的时间戳的问题。他们三个零太多了

4

3 回答 3

1

自 Unix 时代以来,Java 使用毫秒,而我猜 SQLite 使用秒。

在查询数据库之前将 System.currentTimeMillis() 除以 1000。

于 2012-06-02T00:51:30.253 回答
0

你可以尝试这样的事情:

SELECT * FROM events 
WHERE datetime(start_time,'unixepoch', 'localtime')
BETWEEN DATE('now') AND DATE('now', '+1 day')

在此处查看更多详细信息

于 2012-06-02T00:22:01.343 回答
0

尝试

Calendar c= Calendar.getInstance();
long l=c.getTimeInMillis();

并执行以下操作:

SELECT * FROM events WHERE start_time=l;

看看这是否有效。

于 2012-06-02T00:26:08.650 回答