我想从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();
修改 这是我的时间戳的问题。他们有三个零太多
答案 0 :(得分:1)
Java使用自Unix时代以来的毫秒,而我猜SQLite使用秒。
在查询数据库之前将System.currentTimeMillis()除以1000。
答案 1 :(得分:0)
您可以尝试这样的事情:
SELECT * FROM events
WHERE datetime(start_time,'unixepoch', 'localtime')
BETWEEN DATE('now') AND DATE('now', '+1 day')
在here
中查看更多详情答案 2 :(得分:0)
尝试
Calendar c= Calendar.getInstance();
long l=c.getTimeInMillis();
并执行以下操作:
SELECT * FROM events WHERE start_time=l;
看看是否有效。