android - 如何在 sqlite 中选择/删除当前时间之前 24 小时内的所有行

标签 android sqlite

我有一个名为 daily_mood 的表,它有三 (3) 列,如下所示:

CREATE TABLE daily_mood (moodid INTEGER PRIMARY KEY autoincrement,mood TEXT,mooddate DATETIME)

enter image description here

它的数据看起来像这样: enter image description here

现在,我想完全根据 mooddate 列选择/删除从当前日期到 24 小时之前的所有行。

我试过这样的查询:

SELECT *from daily_mood where mooddate>=datetime('now', '-1 day');

结果应该是上面数据的 1 行(最后一行)。但是这里有 2 行。像 enter image description here

结果应该是最后一行。任何人都可以帮助我吗?谢谢。

最佳答案

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
Calendar c = Calendar.getInstance();
c.setTimeMillis(System.currentTimeMillis());
c.add(Calendar.HOUR_OF_DAY, -24);


String query = "SELECT * from daily_mood WHERE mooddate >= " + "'" + dateFormat.format(c.getTime()) + "'";

关于android - 如何在 sqlite 中选择/删除当前时间之前 24 小时内的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540915/

相关文章:

android - 如何将外部依赖项添加到 bazel

javascript - Cordova 或 phonegap : saving file catcher

python - Snow Leopard 上的 SQLite 最大查询参数不同?

android - Android 中短信和联系人的唯一标识符(检查重复)

android - 使用 SQLiteQueryBuilder 连接两个表

java - android.database.sqlite.SQLiteConstraintException : UNIQUE constraint failed:

sqlite - 我可以在 SQLite 命令行上运行脚本吗?

安卓/谷歌分析 SDK : how to make REAL TIME analytics working?

android - 解析 Oreo 8.0 中的 Package 错误

android - 在我 friend 的安卓设备上进行 flutter apk 测试