【发布时间】:2017-04-08 12:11:11
【问题描述】:
我的 Android 项目中有一个 SQL 表,其中有一个 日期 格式的 KEY_DATE 字段。
KEY_DATE + "DATE,"
我的表格由 java 代码填充(日期为 dd/mm/yy 格式)。 所以现在我需要进行几个与日期相关的查询,但有些东西不起作用。 我需要从一张表中选择今天、这个月和今年。 这是我尝试过的:
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yy");
Date todayD = new Date();
dateFormat.format(todayD);
String today = dateFormat.format(todayD);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
Date firstDay = cal.getTime();
dateFormat.format(firstDay);
String selectQuery = "SELECT * FROM " + TABLE_PAYMENTS + "WHERE "
+ KEY_DATE +" BETWEEN " + firstDay + " AND " + today;
即使该期间有很多数据,查询也会返回空。 我相信这里的数据格式有问题。你能帮我解决这个问题吗? 提前谢谢你。
【问题讨论】:
-
打印出
selectQuery,答案应该很明显了。 -
我建议在编写查询时始终使用 ISO 格式的日期 (yyyy-MM-dd)。您也应该引用日期,否则它将被解释为除法运算。而在处理日期范围时,最好使用“date >= firstDay and date
标签: java android mysql sql calendar