Quero adicionar 1 mês até a data, mas estou adicionando apenas 4 semanas.
Eu tentei assim,
2012-05-04 + DateTimeUtilities.ONEMONTH = 2012-05-31
O resultado que estou obtendo é 31/05/2012
Quero adicionar um mês completo (30 dias ou 31, ou quando o mês bissexto é 29 ou 28).
Respostas:
3 para resposta № 1Tente converter seu tempo em um objeto Calendário e, em seguida, incremente o campo do mês:
Calendar cal = Calendar.getInstance();
cal.setTime(new Date(timeInMillis));
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)+1);
long newTimeInMillis = cal.getTime().getTime();
Você pode querer verificar se há estouro de dezembro a janeiro e incrementar o ano.
A documentação da API confirma que DateTimeUtilities.ONEMONTH tem quatro semanas, então o que você obteve é o que você deve esperar.