我想在类型为Date而不是字符串的表中插入日期(因为我必须稍后对其进行排序)。我不能使用内容值的函数put(),因为它只接受(String,String)参数,而不是日期。那么如何在表格行中插入系统的当前日期?请帮忙。
public long createEntry (String name, String db_dr, int amount, Date dt){
ContentValues values = new ContentValues ();``
values.put(DbOpenHelper.ENTRY_NAME, name );
values.put(DbOpenHelper.DR_CR, db_dr );
values.put(DbOpenHelper.ENTRY_AMOUNT, amount);
values.put(DbOpenHelper.DATE, dt); // function put defined for (string, string)
long insertid= database.insert(DbOpenHelper.TABLE_ENTRIES, null, values);
return insertid;
}
答案 0 :(得分:0)
SQLite doesn't support a Date datatype。相反,你可以做的是将日期存储在Unix时间。如果日期存储在Calendar
中,请使用getTimeInMillis
,例如。
答案 1 :(得分:0)
您可以将日期插入英里秒。正如您的评论所说,您可以使用milis存储日期并面临问题以进行检索并将其转换为日期。这是一个例子
Calendar calendar = new GregorianCalendar();
calendar.setTimeInMillis(date_in_milis);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int date = calendar.get(Calendar.DATE);
int day = calendar.get(Calendar.DAY_OF_WEEK);
它会将年,月,日和日设为整数。因此,如果您想获得月/日名称,通过一些计算,您可以格式化为字符串。