问题:
我在 SQLITE DB 中有一个列,其中存储ZonedDateTime
. ZonedDateTime
我需要使用此时间戳列删除早于特定日期的记录。
到目前为止完成:
- 试图查询记录并从中提取
LocalDate
以比较日期是否早于特定日期。 - 但是,这只会创建一个
LocalDate
not列表,ZonedDateTime
以便我可以比较这些循环ZonedDateTime
以删除记录。感谢帮助!
问题:
我在 SQLITE DB 中有一个列,其中存储ZonedDateTime
. ZonedDateTime
我需要使用此时间戳列删除早于特定日期的记录。
到目前为止完成:
LocalDate
以比较日期是否早于特定日期。LocalDate
not列表,ZonedDateTime
以便我可以比较这些循环ZonedDateTime
以删除记录。感谢帮助!解决了这个问题
public ArrayList<String> CompareZDT(String st) {
ArrayList<String> ZDTtodelete;
ArrayList<String> ZDTrejected;
ZDTtodelete = new ArrayList<String>();
ZDTtoavoid = new ArrayList<String>();
LocalDate todaysDate = LocalDate.now(ZoneId.of("Asia/Riyadh"));
LocalDate checkDate = todaysDate.minusDays(120);
String selectQuery = "SELECT * FROM " + Tablename + ";";
SQLiteDatabase database = dbHelper.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
if(ZonedDateTime.parse(cursor.getString(5)).toLocalDate().isBefore(checkDate)) {
ZDTtodelete.add(cursor.getString(7));
}else
{
ZDTrejected.add(cursor.getString(7));
}
} while (cursor.moveToNext());
}
cursor.close();
if (st.equals("DELETE"))
{
return ZDTtodelete;
}else
{
return ZDTrejected;
}
}
使用 arraylist [ZDTtodelete],循环并检查 DB 中的 TIMESTAMP 列,从而可以完成删除操作。