Somar Meses

Boa tarde,

Gostaria de saber se há uma forma de somar meses usando calendar.
por exemplo

//Aqui a quantidade de meses de garantia
int dtPawn = 24;
// Aqui recebo a data em que sera atribuida meses (24 meses) em sua data
Timestamp dtFinalWarranty = beanPOManageLotCom.getDtClose();
		
	    Calendar cal = Calendar.getInstance();  
	    //cal recebe a data que sera somada meses
            cal.setTime(dtFinalWarranty); 
            // Aqui gostaria de passar a quantidade de meses a serem somados a data
	    cal.add (Calendar.DATE, dtPawn); 

Na saida do codigo eu gostaria que a saida fosse a data mais os meses que receberam.

Abaixo vou fazer o codigo com os numeros pra ficar mais facil de entender

//Aqui a quantidade de meses de garantia
int dtPawn = 24;

// Aqui recebo a data em que sera atribuida meses (24 meses) em sua data
Timestamp 23/01/2012= beanPOManageLotCom.getDtClose();
		
	    Calendar cal = Calendar.getInstance();  
	    //cal recebe a data que sera somada meses
            cal.setTime(dtFinalWarranty); 
            // Aqui gostaria de passar a quantidade de meses a serem somados a data
	    cal.add (Calendar.DATE, dtPawn); 

na saida gostaria que saisse 23/01/2014…

porem aqui nao funciona… alguma sugestao?

Você tem que usar o método add mesmo, mas com outra constante. Se der uma lida na documentação você mata rapidinho :slight_smile:

Leu a documentação? Lá diz que é possível.

Obrigado pela resposta,

mas não entendi… onde esta essa “documentação”?
Pela informação no método add, parece ser dessa forma mesmo que eu fiz, porem cada valor indica um mes 0 janeiro, 1 fevereiro, 2 março etc etc…

http://docs.oracle.com/javase/7/docs/api/
http://docs.oracle.com/javase/tutorial/

[quote=fredericomaia10][quote=marcogabriel30]
Obrigado pela resposta,

mas não entendi… onde esta essa “documentação”?
Pela informação no método add, parece ser dessa forma mesmo que eu fiz, porem cada valor indica um mes 0 janeiro, 1 fevereiro, 2 março etc etc…
[/quote]
http://docs.oracle.com/javase/7/docs/api/
http://docs.oracle.com/javase/tutorial/[/quote]

Obrigado pela atenção… Porem esta documentação é a mesma que pode ser visualizada no codigo…
Essa documentação ja tive acesso e mesmo assim o código nao funciona…
Alguem tem alguma ideia de como resolver?

Resolvi o problema…
Pra que quiser saber como foi ficou assim…


Timestamp dtFinalWarranty = beanPOManageLotCom.getDtClose();
		
		Calendar cal = Calendar.getInstance();  
	    cal.setTime(dtFinalWarranty);  
	    cal.add(Calendar.MONTH, dtPawn); 
				
		KDateField dtFinal = new KDateField(core, "dtFinal");
		dtFinal.setFieldLabel(MlGeneralItem.DATE_FOR_THE_RELEASE_OF_STOCK, getUser());
		dtFinal.setWidth(120);
		dtFinal.setDisabled(true);
		dtFinal.setFormat(KDateFormat.DAY_MONTH_YEAR);
		if (dtFinalWarranty != null) {
			dtFinal.setValue(new Timestamp(cal.getTimeInMillis()));
		}else {
			dtFinal.setValue("");
		}