Хочу узнать, есть ли самый простой способ исправить значения дня при его настройке. Я имею в виду:
int birthDay = 30;
int birthMonth = 1;
int birthYear = 1980;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, birthDay);
cal.set(Calendar.MONTH, birthMonth);
cal.set(Calendar.YEAR, birthYear);
Февраль не имеет дня 30. С другой стороны, у него особое состояние: 1980 год - это февраль, в котором 29 дней. Поэтому я должен получить исправленное значение как «1980-Февраль-29». Это должно занять максимальный день в этом месяце, если я превышаю диапазон месяца. Как я могу сделать это самым простым способом, и если я могу найти решение, которое не требует написания дополнительного кода вместо использования методов класса Calendar, это будет прекрасно.
РЕДАКТИРОВАТЬ: Я изменил cal.set (Calendar.MONTH, birthMonth-1); to cal.set (Calendar.MONTH, birthMonth); извините за это.