我有一项活动,我将一些信息保存到我的数据库。 我有两个文本视图,一个用于日期(yyyy-MM-dd),另一个用于时间(HH:mm)。 如果我将日期时间保存为TEXT,我可以正确排序然后desc,但我可以找到sqlite查询最后/ 7/30天记录吗?这个查询的一个例子是什么时候是datetime TEXT?
答案 0 :(得分: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);