Bom dia, estou passando a data 2018, 5, 31 para função DatePart, porém quando eu peço para me retornar o mês ele me retorna como mês “6” e não mês “5” como informado. Estou observando que isso acontece sempre quando passo o ultimo dia do mês.
Calendar Data1 = new GregorianCalendar(2018, 5, 31);
int result = Data.DatePart(Tipo.Dia, Data1);
sendo assim o resultado desse método fica assim:
Dia: 01 - deveria ser 31;
Mês: 06 - Deveria ser 06;
Ano: 2018
public static int DatePart(Tipo tipo, Calendar data)
throws CadastroException {
if (tipo.equals(Tipo.Dia)) {
return data.get(Calendar.DAY_OF_MONTH);
}else if (tipo.equals(Tipo.Mes)) {
return data.get(Calendar.MONTH);
}else if(tipo.equals(Tipo.Ano))
{
return data.get(Calendar.YEAR);
}else
{
return 0;
}
}