Recuperar mês anterior data atual

Olá pessoALL!

Seguinte, preciso recuperar o mês anterior da data atual, com primeiro dia e último dia do mês anterior.
So que não sei se mês anterior termina com 29, 30 ou 31. Vou dá um exemplo p ficar mais fácil de entender

dataAtual = 22/08/2011

Preciso recuperar as seguintes datas:

dataInicioMesAnterior = 01/07/2011
dataFinalMesAnterior = 31/07/2011

Vlw!

Oi!

O primeiro dia é sempre um né? Pois eu não conheço calendário que comece com 02, por exemplo.
O último dia do mês pode ser assim:

[code]Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);

int lastDay = c.getMaximum(Calendar.DAY_OF_MONTH);
System.out.println(lastDay);[/code]

Abraços.

Segue, o ‘date’ é a data atual

	public static Date getPrimeiroDiaDoMesAnterior(Date date) {
		GregorianCalendar gc = getDateCalendar(date);
		gc.add(Calendar.MONTH, -1);
		gc.set(Calendar.DAY_OF_MONTH, 1);
		return gc.getTime();
	}
	
	public static Date getUltimoDiaDoMesAnterior(Date date) {
		GregorianCalendar gc = getDateCalendar(date);
		gc.add(Calendar.MONTH, -1);
		gc.set(Calendar.DAY_OF_MONTH, gc.getActualMaximum(Calendar.DAY_OF_MONTH));
		return gc.getTime();
	}

Veja se isso te ajuda: http://www.guj.com.br/java/22644-primeiro-e-ultimo-dia-de-uma-data

Obrigado galera!

Ajudou D+!