日期选择器提供了一次也不例外之间 [英] Datepicker gives time not between exception
问题描述
我使用的日期选择器,并要设置最小日期为今天的和最大日期为今天提前一年。
我这样做,如:
datePickerDialog.getDatePicker()setMinDate(System.currentTimeMillis的() - 1000)。
cal.add(Calendar.YEAR,1);
。datePickerDialog.getDatePicker()setMaxDate(cal.getTimeInMillis());
当我不这样做 - 1000然后我得到另一个异常:
java.lang.IllegalArgumentException异常:寄件者:星期六年04月11 23:59:59 2015年CEST没有precede TODATE:周六04月11 CEST 8时24分十九秒2015年
这就是因为日期可能不等于今天。所以我提取1000毫秒。
我不知道如何解决新的异常。我试图指望MAXDATE + 1000毫秒,但没有解决问题。
编辑:
创建我的CAL是这样的:
CAL = Calendar.getInstance();
datePickerDialog =新DatePickerDialog(getActivity(),这一点,cal.get(Calendar.YEAR),cal.get(的Calendar.MONTH),cal.get(Calendar.DATE));
我解决了这个问题如下:
cal.set(Calendar.HOUR_OF_DAY,cal.getMinimum(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE,cal.getMinimum(Calendar.MINUTE));
cal.set(Calendar.SECOND,cal.getMinimum(Calendar.SECOND));
cal.set(Calendar.MILLISECOND,cal.getMinimum(Calendar.MILLISECOND));
。datePickerDialog.getDatePicker()setMinDate(cal.getTimeInMillis());
cal.add(Calendar.YEAR,1);
cal.set(Calendar.HOUR_OF_DAY,cal.getMaximum(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE,cal.getMaximum(Calendar.MINUTE));
cal.set(Calendar.SECOND,cal.getMaximum(Calendar.SECOND));
cal.set(Calendar.MILLISECOND,cal.getMaximum(Calendar.MILLISECOND));
。datePickerDialog.getDatePicker()setMaxDate(cal.getTimeInMillis());
我刚才设置的开始日期的最小和结束日期的最大断的那一天。
I'm using a datepicker and want to set the min date to today and the max date to today one year ahead.
I do this like:
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
cal.add(Calendar.YEAR, 1);
datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());
When I don't do - 1000 then I get another exception:
java.lang.IllegalArgumentException: fromDate: Sat Apr 11 23:59:59 CEST 2015 does not precede toDate: Sat Apr 11 08:24:19 CEST 2015
thats because the date may not be equal to today. So I extract 1000 ms.
I don't know how to solve the new exception. I tried to count + 1000 ms on the maxDate but that didn't solve it.
EDIT:
I create my cal like this:
cal = Calendar.getInstance();
datePickerDialog = new DatePickerDialog(getActivity(), this, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE));
I solved the problem as follows:
cal.set(Calendar.HOUR_OF_DAY, cal.getMinimum(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, cal.getMinimum(Calendar.MINUTE));
cal.set(Calendar.SECOND, cal.getMinimum(Calendar.SECOND));
cal.set(Calendar.MILLISECOND, cal.getMinimum(Calendar.MILLISECOND));
datePickerDialog.getDatePicker().setMinDate(cal.getTimeInMillis());
cal.add(Calendar.YEAR, 1);
cal.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE));
cal.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND));
cal.set(Calendar.MILLISECOND, cal.getMaximum(Calendar.MILLISECOND));
datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());
I just set the start date to the minimum and the end date to the maximum off that day.
这篇关于日期选择器提供了一次也不例外之间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!