0

データベースにレコードを挿入するときに、レコードが挿入された日付のタイムスタンプを入力して、からの日付に対してクエリを実行できるようにしますDate Picker。これは、挿入時にタイムスタンプを取得する方法です

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
int year = cal.get(Calendar.YEAR);
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.MONTH);
cal.set(year, month, day);
long mDate = cal.getTimeInMillis();

mDateは挿入されるものです

そして、その日にアイテムのクエリを実行したいときは、これを行います

public DateList(Calendar date){ //constructor
    dt = date.getTimeInMillis();
}

ローダ

@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
        return new CursorLoader(getActivity(),Games.GAMES_URI,new String[] {Games.GAMES_ID},Games.GAMES_DATE + "=" +dt ,
                null,null);
}

しかし、からのdate picker日付は、正しい日付が選択されたときに挿入されたタイムスタンプと一致しません。なぜですか?

4

1 に答える 1

0

DB テーブル自体に datetime のデフォルト値を追加することをお勧めします。たとえば、MSSQL では、デフォルト値の datetime を GETDATE() に設定できるため、新しいレコードを追加すると、データベースは現在の datetime を自動的に挿入します。

于 2012-08-12T15:16:00.030 に答える