0

我有一个活动,我将一些信息保存到我的数据库中。我有两个文本视图,一个用于日期(yyyy-MM-dd),一个用于时间(HH:mm)。如果我将日期时间保存为文本,我可以正确排序然后 desc,但是我可以通过 sqlite 查询找到最后/7/30 天的记录吗?此查询的示例何时是日期时间文本?

4

1 回答 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 回答