あなたは(日付からミリ秒の値を取得することができますすることができます)getTimeを:message_dateが格納されているため、ミリ秒の長い値 私WRITENクエリがあったように、私は日付を比較することはできません。 ()またはSystem.currentTimeMillis()は、「現在の時刻と1970年1月1日の深夜との差(ミリ秒単位)」を返します。
7日前のタイムスタンプを取得します。これを試す -
Calendar current = Calendar.getInstance();
current.add(Calendar.DATE, -7);
long millis = current.getTime().getTime();//Change this line
Cursor cursor = db.rawQuery(
"SELECT csId FROM table_messages WHERE date < " + String.valueOf(millis), null);
EDIT:
1:あなたは、あなたが望むように減算日追加し、カレンダーオブジェクトからミリ秒を抽出し、クエリで
EDIT 2を使用することができますが、コードの2行目を参照してください。 current.add(Calendar.DATE、-7);ここで-7は、今日から7日を引いていることを意味します。 -30(30日を引く)または30(30日を加える)は、照会する表に条件に一致するレコードがないため、値を変更しようとすることを意味します。
2.テーブルからすべての行を選択してlogcatに出力し、カレンダーから取得したミリ秒を印刷し、カレンダーから取得したミリ秒を手動で一致させるかどうかを確認します。
3.この行を置き換えます。long millis = current.getTimeInMillis();長いmillis = current.getTime()。getTime();
あなたがエラーを取得している4.Ifこれはあなたの問題を解決した場合、ポストエラーメッセージ
が、その後の答えとして、このポストをマークしてください。
ことができますか? @Rahul –
私は編集ポストを持っています。 – Rahul
をご覧ください。私の質問が分かりますか?私は7日前に挿入された挿入されたレコードを検索するクエリを探しています。 –