如何在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查询,我只是好奇这个查询,我如何执行这些与数据库无关的查询类型?你可以查看这个链接