1

文字列ではなく日付型のテーブルに日付を挿入したい(後でソートする必要があるため)。日付ではなく (String, String) 引数のみを受け取るため、コンテンツ値の関数 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;
        }
4

2 に答える 2

0

SQLiteは Date データ型をサポートしていません。代わりにできることは、日付を Unix 時間で保存することです。日付が に格納されている場合は、たとえばCalendarを使用します。getTimeInMillis

于 2013-04-20T21:30:16.337 に答える
0

日付をマイル秒として挿入できます。あなたのコメントが言うように、ミリスを使用して日付を保存し、問題に直面してそれを取得して日付に変換することができました。ここに例があります

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

年、月、日、日を整数として設定します。したがって、月/日の名前も取得したい場合は、計算によって文字列としてフォーマットできます。

于 2013-04-21T03:07:21.673 に答える