私のアプリにDatePickerDialogがあり、ユーザーが選択した日付を現在の日付まで制限する必要があります。 DatePickerDialogから選択した日付をnewDate()と比較しています。選択した日付が前の日付であれば、エラーが発生しています。以下のコードを見つけてください。日付比較で現在の日付まで選択するように制限する
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, monthOfYear, dayOfMonth);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
String visitDate = dateFormat.format(calendar.getTime());
try {
Date appointDate = dateFormat.parse(visitDate);
Date currentDate = new Date();
if(appointDate.before(currentDate)){
appointmentDateInputLayout.setError("Date selected is not within range!");
}else{
appointmentDateEditText.setText(visitDate);
appointmentDateInputLayout.setError(null);
}
} catch (ParseException e) {
e.printStackTrace();
}
appointmentDateEditText.setText(visitDate);
}
}, mYear, mMonth, mDay);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.show();
これを行うと、今日の日付を選択する際にエラーが発生します。ユーザーに現在の日付を許可します。私はここで何が欠けていますか?
助けてください。カレンダーgetTime()の代わりに現在の日付:
If(appointDate.before(calendar.getTime())
まだ動作していません! –
次に、日付の書式を変更して、拍数と秒も含めます。 String currentDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss")。書式(新しい日付() ); –
まだ私はなぜ動作していないのかわかりません –