1

データベースの別の「時間」列にタイムピッカーからの時間を保存しています。

現時点では、ピッカーから選択した時間を受け取り、保存する次の方法を使用しています。

setTime = (TimePicker) findViewById(R.id.timePicker1);


Integer dobHour = setTime.getCurrentHour();
Integer dobMinute = setTime.getCurrentMinute();

Time timeToSet = new Time();
timeToSet.set(0, dobMinute, dobHour);

insert メソッドを使用したデータベース ヘルパー オブジェクト:

DBHandlerApp createApp = new DBHandlerApp(this, null, null);
    createApp.open();
    createApp.createAppointmentEntry(nameToSet, typeToSet, timeToSet, setDate, comToSet, alarmToSet);

DB ヘルパー クラスのメソッド:

    public void createAppointmentEntry(String nameApp, String typeApp, Time timeApp, Date dateApp ,String commentApp, Boolean onOrOff) {



        ContentValues cv = new ContentValues();
        cv.put(KEY_NAMEAPP, nameApp);
        cv.put(KEY_TYPEAPP, typeApp);
        cv.put(KEY_TIMEAPP, timeApp.toString());
        cv.put(KEY_DATEAPP, dateApp.toString());
        cv.put(KEY_COMMENTAPP, commentApp);
        cv.put(KEY_ALARM, onOrOff);
        ourDatabase.insert(DATABASE_TABLEAPP, null, cv);

私のアプリでは、次の出力は日付の保存方法を示しています。

明らかに、この時間形式は正しくありません。誰かがこれを実際の時間形式として設定する正しい方向に私を向けることができますか?

アプリ

4

2 に答える 2

1

Guilhermeの答えは機能しますが、Time#format()メソッドを使用して、時間の適切なフォーマットを実現することもできます。strftimeの仕様にフォーマットされ た String をformat()メソッド (例: ) に渡します。"%x%X"

例えば

cv.put(KEY_TIMEAPP, timeApp.format("%x%X"));

これは単なるデフォルトのロケール固有の表現です。一貫した時間形式が必要な場合は、基本的に何にでも設定できます。

于 2013-01-22T16:18:10.690 に答える
0

これを使って:

 public static String getDate() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        String date = dateFormat.format(new Date(System.currentTimeMillis()));
        return date;
    }
于 2013-01-22T16:05:57.953 に答える