我试图限制日期和时间。我希望如果用户尝试将日期设置为小于当前日期,那么它应该显示警报,同样的事情也会随着时间的推移而发生。我正在使用日期和时间选择器,我的 onDateSetListener
和 onTimeSetListener
如下所示:
DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
dateTime.set(Calendar.YEAR, year);
dateTime.set(Calendar.MONTH, monthOfYear);
dateTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
update_date_display();
// ---for setting notification----
day = dayOfMonth;
month = monthOfYear;
AddEditTask.year = year;
c.set(year, month, day);
}
};
protected void update_date_display() {
et_task_date.setText(formatDate.format(dateTime.getTime()));
}
TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
dateTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
dateTime.set(Calendar.MINUTE, minute);
update_time_display();
// ---for setting notification---
hour = hourOfDay;
AddEditTask.minute = minute;
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, 0);
}
};
private void update_time_display() {
et_task_time.setText(formatTime.format(dateTime.getTime()));
}
你能告诉我要在这些听众中写什么来实现我想要的吗?提前致谢...!!!
最佳答案
以这种方式创建一个新的 Date 对象:
Date now = new Date(System.currentTimeMillis());
并使用 int result = now.compareTo(theOtherDate);
如果 now Date 小于 theOtherDate 日期,结果将是一个 int < 0,如果它们相等则为 0,如果此 Date 更大,则 int > 0。
关于android - 我如何将当前日期与日期选择器中的用户输入日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132106/