我有一个活动,我将一些信息保存到我的数据库中。我有两个文本视图,一个用于日期(yyyy-MM-dd),一个用于时间(HH:mm)。如果我将日期时间保存为文本,我可以正确排序然后 desc,但是我可以通过 sqlite 查询找到最后/7/30 天的记录吗?此查询的示例何时是日期时间文本?
问问题
1969 次
1 回答
2
首先,您应该计算要分析的日期范围,然后将其边界转换为文本格式(您可以使用一些日期格式实用程序)。然后,您应该使用转换后的日期作为参数查询 Db。
假设您想要最近 30 天的列表:
Calendar theEnd = Calendar.getInstance();
Calendar theStart = (Calendar) theEnd.clone();
theStart.add(Calendar.DAY_OF_MONTH, -30);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String start = dateFormat.format(theStart.getTime());
String end = dateFormat.format(theEnd.getTime());
// Now you have date boundaries in TEXT format
Cursor cursor = db.rawQuery("SELECT * FROM table WHERE timestamp BETWEEN "+start+" AND "+end);
于 2012-09-13T06:30:08.613 回答