【发布时间】:2018-01-28 12:35:03
【问题描述】:
我想使用按日期过滤器从数据库表中选择一些数据(日期列是:[searchDate] DATETIME DEFAULT CURRENT_TIMESTAMP,)
在这张图片中,我使用 SQLite Expert 和按日期过滤:
此代码用于获取当前年份和月份:
DateFormat YEAR_FORMAT = new SimpleDateFormat("yyyy");
DateFormat MONTH_FORMAT = new SimpleDateFormat("MM");
YEAR_DATE = YEAR_FORMAT.format(new Date());
MONTH_DATE = MONTH_FORMAT.format(new Date());
Date date = new Date();
Log.d("Month", YEAR_FORMAT.format(date) + " " + MONTH_FORMAT.format(date));
以及我的应用程序中用于获取按日期(当年)过滤的列表的光标查询:
public List<Moment> MOMENT_YEAR(String year) {
try {
Moment MOMENT_TABLE;
List<Moment> MOMENTS = new ArrayList<>();
DB_HELPER.openDatabase();
db.beginTransaction();
Cursor MOMENT_CURSOR = db.rawQuery("SELECT * FROM tblMoment WHERE strftime('%Y', searchDate) =" + year, null);
db.setTransactionSuccessful();
MOMENT_CURSOR.moveToFirst();
while (!MOMENT_CURSOR.isAfterLast()) {
MOMENT_TABLE = new Moment(MOMENT_CURSOR.getInt(0), MOMENT_CURSOR.getString(1), MOMENT_CURSOR.getString(2), MOMENT_CURSOR.getString(3),
MOMENT_CURSOR.getString(4), MOMENT_CURSOR.getString(5), MOMENT_CURSOR.getInt(6), MOMENT_CURSOR.getInt(7) != 0);
MOMENTS.add(MOMENT_TABLE);
MOMENT_CURSOR.moveToNext();
}
MOMENT_CURSOR.close();
return MOMENTS;
} catch (Exception e) {
return null;
} finally {
db.endTransaction();
DB_HELPER.closeDatabase();
}
}
我试过了,但没有任何反应,并且列表为空(空)。
我有今年的大多数日期。
【问题讨论】:
标签: android sqlite datetime android-sqlite