3

私のプロジェクトでは、sqlliteデータベースでミリ秒を節約しています。デフォルトでは節約しています

System.currentTimeMillis()

データベースにありますが、ユーザーが日付ピッカーから前の日付を選択するためのオプションがありますか?しかし、ユーザーが日付ピッカーから前日または今後の日を選択した場合、何を保存すればよいでしょうか。その日をlong(ミリ秒)形式として取得するにはどうすればよいですか?

4

2 に答える 2

13

Calenderインスタンスを作成し、必要な日付を設定します。次に、を呼び出しますcalendar.getTimeInMillis();。詳細については、この前のSO質問の回答を参照してください。

編集カレンダーの日付を設定するには、次のようなものを使用できます。

//Lets suppose you have a DatePicker instance called datePicker
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());
cal.set(Calendar.MONTH, datePicker.getMonth());
cal.set(Calendar.YEAR, datePicker.getYear());

詳細については、Calendarクラスを参照してください。

于 2012-07-11T10:15:46.680 に答える
1

この答えに出くわしたとき、私はjavaseシナリオの同様の解決策を探していました。私は自分のケースを機能させるためにアンジェロの答えに少し変更を加えました、そしてそれは私が探していたものを正確に私に与えました。もう少し面白くするために、再利用できるメソッドを作成しました。

class Controller {

    public static Calendar cal = Calendar.getInstance();

    public static long getEpoch_fromDatePicker( DatePicker datePicker ) {

        Controller.cal.set(Calendar.DAY_OF_MONTH, datePicker.getValue().getDayOfMonth() );
        Controller.cal.set(Calendar.MONTH, datePicker.getValue().getMonthValue() );
        Controller.cal.set(Calendar.YEAR, datePicker.getValue().getYear() );

        return Controller.cal.getTimeInMillis() /1000;
    }
}

誰かがこれが役に立つと思うかもしれません

于 2016-08-04T17:16:26.330 に答える