如何在android中应用选择日期(';now';)查询?

如何在android中应用选择日期(';now';)查询?,android,sqlite,cursor,android-cursor,android-database,Android,Sqlite,Cursor,Android Cursor,Android Database,我正在做一个项目,现在我被困在一个奇怪的舞台上 我知道我们可以执行任何与数据库相关的查询,我们可以使用以下方法编写: Cursor cursor = db.rawQuery("SELECT * FROM table_name", null); 但是现在我想执行这个查询: "SELECT strftime('%s','now','-2 day')" 通常,上述查询返回前天的unixepoch时间 有人知道我该怎么做吗 Date date = new Date(); 将返回当前日期,如果减去X

我正在做一个项目,现在我被困在一个奇怪的舞台上

我知道我们可以执行任何与数据库相关的查询,我们可以使用以下方法编写:

Cursor cursor = db.rawQuery("SELECT * FROM table_name", null);
但是现在我想执行这个查询:

"SELECT strftime('%s','now','-2 day')"
通常,上述查询返回前天的unixepoch时间

有人知道我该怎么做吗

Date date = new Date();
将返回当前日期,如果减去X个天数,则将该日期解析为所需格式的字符串。您可以使用方法
SimpleDataFormat

String newDate = new SimpleDateFormat(pattern).format(date);
其中模式可以是这样的
“dd-MM-yyyy”


然后,您可以将所述日期添加到查询中。

您可以像处理任何其他查询一样处理此查询:

Cursor Cursor=db.rawQuery(“选择strftime(“%s”、“now”、“2天”),null);
试一试{
if(cursor.moveToFirst()){
long seconds=cursor.getLong(0);
...
}否则{
//此查询无法执行
}
}最后{
cursor.close();
}
如果要按名称访问该列(如果只有一列,则完全没有意义),可以为其指定别名:

cursor=db.rawQuery(“选择strftime(…)作为s”,null);
cursor.getColumnIndexOrThrow(“s”);//返回零
...

请注意,对于返回单个值的查询,有:

long seconds=DatabaseUtils.longForQuery(
db,“选择strftime('%s','now','-2天'),null);

您能否澄清到底是什么问题?查询有什么问题?查询没有问题。我只是想知道如何应用这种查询。因为当我使用上述方法应用时,它会搜索列名strftime(“%s”、“now”、“2天”)。你知道我在说什么吗?那为什么不用它呢?到底是什么问题?检查我编辑的评论我想得到前天的大纪元时间。因为我们可以执行任何SQLite查询,我只是好奇这个查询,我如何执行这些与数据库无关的查询类型?你可以查看这个链接