私のプロジェクトでは、sqlliteデータベースでミリ秒を節約しています。デフォルトでは節約しています
System.currentTimeMillis()
データベースにありますが、ユーザーが日付ピッカーから前の日付を選択するためのオプションがありますか?しかし、ユーザーが日付ピッカーから前日または今後の日を選択した場合、何を保存すればよいでしょうか。その日をlong(ミリ秒)形式として取得するにはどうすればよいですか?
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クラスを参照してください。
この答えに出くわしたとき、私は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;
}
}
誰かがこれが役に立つと思うかもしれません