Android 如何在SQLite中插入日期类型的数据

Android 如何在SQLite中插入日期类型的数据,android,sqlite,date,Android,Sqlite,Date,我想在类型为date而不是String的表中插入date(因为我以后必须对其进行排序)。我不能对内容值使用函数put(),因为它只接受(字符串,字符串)参数,不接受日期。那么,如何在表行中插入系统的当前日期呢?请帮忙 public long createEntry (String name, String db_dr, int amount, Date dt){ ContentValues values = new ContentValues ();``

我想在类型为date而不是String的表中插入date(因为我以后必须对其进行排序)。我不能对内容值使用函数put(),因为它只接受(字符串,字符串)参数,不接受日期。那么,如何在表行中插入系统的当前日期呢?请帮忙

 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;
        }

SQLite。相反,您可以将日期存储在Unix时间中。如果日期存储在
日历中
,请使用
getTimeInMillis
,例如。

您可以将日期插入为毫秒。正如您的评论所说,您可以使用MILS存储日期,但在检索日期并将其转换为日期时遇到了问题。这里有一个例子

    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);

它将年、月、日和日设置为整数。因此,通过一些计算,如果还想获得月/日名称,可以将其格式化为字符串。

我使用了Calendar.getInstance().getTimeInMillis()并将其存储为:1366494816221。我如何以DD-MM-YY格式或类似的任何其他格式获取日期?谢谢你advance@IvaKodhelaj这取决于你想做什么。如果需要将其作为显示日期的字符串,可以使用
DateUtils
。您可以将其放入
Calendar.setTimeInMillis()
中,以便以后可以使用
Calendar.get()
获取特定日期。