Мы используем приведенный ниже фрагмент кода, чтобы получить количество дней для указанного месяца и года. Для 02 и 2011 он возвращает количество дней как 31 (что не так). для 02 и 2016 он возвращает количество дней как 29.
Любые подсказки.
package Processes.BSAInvoiceInquiry.ExternalCall.PaymentStatusInquiry;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class PaymentStatusInquiryJavaCode {
protected int year = 0;
protected int month = 0;
protected int days = 0;
public void invoke() throws Exception {
PaymentStatusInquiryJavaCode a = new PaymentStatusInquiryJavaCode();
System.out.println("Year " + year);
System.out.println("Month " + month);
Calendar calObj = new GregorianCalendar();
calObj.set(Calendar.YEAR, year);
calObj.set(Calendar.MONTH, month - 1);
System.out.println("Month " + Calendar.MONTH);
int numDays = calObj.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("No of the days in the month is " + numDays);
days = numDays;
}
}
java.time
был перенесен на Java 6 и 7. Получите ThreeTen Backport, добавьте его в свой проект и начните используя современный API даты и времени Java. И наслаждаться! Учитывая проблемы, с которыми вы столкнулись со старомодным классомCalendar
, это будет большим облегчением. - person Ole V.V.   schedule 29.04.2018