android 如何让用户从日期选择器中选择从今天起 10 年之前的日期?
How to allow the user to choose date only before 10 years from today from datepicker in android?
我卡在需要向用户询问生日作为输入的位置。我需要限制用户不能添加 10 年之前的任何日期)。
你可以这样做:
DatePicker datePicker = (DatePicker) findViewById(R.id.event_date);
datePicker.setMinDate(dateTenYearsAgo);
更多信息:
在 datePicker 对话框中尝试使用此代码:
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -10);
long tenYearBack = c.getTimeInMillis();
datePickerDialog.getDatePicker().setMinDate(tenYearBack);
我想你的意思是用户不能添加任何早于 10 年前的日期,对吧?或者您的用户主要是 10 到 0 岁的孩子?!
由于您的限制日期基于当前日期,因此您必须使用 setMinDate(long date)
和 setMaxDate(long date)
以编程方式设置限制。如您所见,这些方法适用于以毫秒为单位的日期,因此您必须首先敢于以毫秒为单位:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -10); //Goes 10 Year Back in time ^^
long upperLimit = calendar.getTimeInMillis(); //Get date in millisecond (epoch)
,然后使用上面的方法设置限制:
datePicker.setMaxDate(upperLimit);
我卡在需要向用户询问生日作为输入的位置。我需要限制用户不能添加 10 年之前的任何日期)。
你可以这样做:
DatePicker datePicker = (DatePicker) findViewById(R.id.event_date);
datePicker.setMinDate(dateTenYearsAgo);
更多信息:
在 datePicker 对话框中尝试使用此代码:
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -10);
long tenYearBack = c.getTimeInMillis();
datePickerDialog.getDatePicker().setMinDate(tenYearBack);
我想你的意思是用户不能添加任何早于 10 年前的日期,对吧?或者您的用户主要是 10 到 0 岁的孩子?!
由于您的限制日期基于当前日期,因此您必须使用 setMinDate(long date)
和 setMaxDate(long date)
以编程方式设置限制。如您所见,这些方法适用于以毫秒为单位的日期,因此您必须首先敢于以毫秒为单位:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -10); //Goes 10 Year Back in time ^^
long upperLimit = calendar.getTimeInMillis(); //Get date in millisecond (epoch)
,然后使用上面的方法设置限制:
datePicker.setMaxDate(upperLimit);