如何设置最小的DatePicker日期为当前日期日期、如何设置、最小、DatePicker

2023-09-04 03:25:27 作者:阳光一点的女生

我要设置用户可以在一个datepicker当前日期选择最小日期。我试过这样的:

I want to set the minimum date the user can choose in a DatePicker to the current date. I've tried this:

DatePicker datePicker = (DatePicker) findViewById(R.id.event_date);
datePicker.setMinDate(System.currentTimeMillis());

这使我有以下异常:

12-01 12:23:31.226: E/AndroidRuntime(10311): Caused by: java.lang.IllegalArgumentException: fromDate: Sat Dec 01 12:23:31 EST 2012 does not precede toDate: Sat Dec 01 12:23:31 EST 2012

我如何做到这一点?

How do I do this?

推荐答案

该错误说你不能在最小日期设置为完全的现在。尝试减去第二个:

The error says you cannot set the minimum date to exactly now. Try subtracting a second:

datePicker.setMinDate(System.currentTimeMillis() - 1000);

从C的最小日期源$ C ​​$必须是之前,不等于当前日期:

From the source code the minimum date must be before, not equal to, the current date:

if (date.before(mMinDate)) {
    throw new IllegalArgumentException("fromDate: " + mMinDate.getTime()
            + " does not precede toDate: " + date.getTime());
}

所以,你只需要从现在开始( System.currentTimeMillis的())通过 date.before(mMinDate)。