Preciso de um método que tenha como parâmetro uma data (uso uma string como entrada e dou um split por “/”, separando os campos dia, mes e ano)
Aí eu seto em uma variável tipo Calendar essa data para poder manipulá-la (creio eu ser esta a melhor maneira, jah que a classe Date está depreciada quase por completo)
Usando o Calendar.add eu poderia somar a esta data, um tempo específico:
Calendar dataEncomenda = new GregorianCalendar();
dataEncomenda.set(Calendar.DAY_OF_MONTH,Integer.parseInt(data[0]));
dataEncomenda.set(Calendar.MONTH,Integer.parseInt(data[1]));
dataEncomenda.set(Calendar.YEAR,Integer.parseInt(data[2]));
Calendar dataEntrega = dataEncomenda;
dataEntrega.add(Calendar.DAY_OF_MONTH,30);
Só que a data resultante não é validada quanto a quantidade de dias do mes… Entrando com 28/2/2005 e somando 1 ao dia ele resulta em 29/2/2005 e nao em 1/3/2005! Isso é absurdo!
Existe um jeito de isso funcionar?