Android 如何将最小日期设置为上个月26

Android 如何将最小日期设置为上个月26,android,Android,如何将最小日期设置为上个月26。这是我的密码 int difference = 0; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { difference = 31; } else if (month == 4 || month == 6 || month == 9 || month == 11) { difference

如何将最小日期设置为上个月26。这是我的密码

int difference = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
    difference = 31;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
    difference = 30;
} else if (month == 2) {
    if (year % 4 == 0) {
        difference = 29;
    } else
        difference = 28;
}

int minDiffrence = 0;
if (day == 26) {
    minDiffrence = difference;
} else {
    minDiffrence = difference - (26 - day);
}

dpd.getDatePicker().setMinDate(System.currentTimeMillis() - 24 * 60 * 60 * 1000 * minDiffrence);
试试这个:-

Calendar calendar = Calendar.getInstance();

                    calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);
                    calendar.set(Calendar.DAY_OF_MONTH, 26);

                    dpd.getDatePicker().setMinDate(calendar.getTimeInMillis());

此代码示例代码涵盖开始日期=上个月的开始日期结束日期=本月的当前日期。我认为这段代码对你很有帮助

 datePicker = (DatePicker) findViewById(R.id.datePicker);

    calendar = Calendar.getInstance();
    calendar.add(Calendar.MONTH, -1);
    calendar.set(Calendar.DAY_OF_MONTH, 1);
    datePicker.setMinDate(calendar.getTimeInMillis());
    datePicker.setMaxDate(new Date().getTime());

在顶部,您说您想要上个月的26号,但您的代码示例似乎是在上个月的最后一天。请澄清。你的问题不清楚。