按日期存储数据库记录

时间:2012-08-12 15:12:27

标签: android calendar

当我将记录插入我的数据库时,我想要插入插入日期的时间戳,以便我可以针对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的日期与选择正确日期时插入的时间戳不匹配,为什么不呢?

1 个答案:

答案 0 :(得分:0)

我建议在DB表本身中添加datetime的默认值。例如,在MSSQL中,您可以将默认值datetime设置为等于GETDATE(),因此如果添加新记录,数据库将自动为您插入当前日期时间。