日期选择器提供了一次也不例外之间 [英] Datepicker gives time not between exception

查看:158
本文介绍了日期选择器提供了一次也不例外之间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的日期选择器,并要设置最小日期为今天的和最大日期为今天提前一年。

我这样做,如:

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆