Data atual java

Amigos como que eu faço para pegar o 1° e o ultimo dia do mês anterior tendo a data do dia como valor

Olá, setando a data de hoje:

GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(new Date());
int diaMaximo = calendar.getMaximum(Calendar.DAY_OF_MONTH);
int diaMinimo = calendar.getMinimum(Calendar.DAY_OF_MONTH);

O resultado será diaMaximo=31 e diaMinimo=1

Acredito que não seja isso que ele queria.
Acho que ele quer, por exemplo, verificar o primeiro dia util do mês.
Se no caso o dia 1 for domingo o primeiro dia do mês seria o dia 2 por ser segunda-feira.

Bom… foi isso que eu entendi, mas deu a entender que ele quer do mês anterior, aí é só reduzir 1 mês da data atual…
Mas vamos aguardar ele dizer o que realmente queria então :lol:

Para pegar o mes anterior e o primeiro e ultimo dia do mesmo:

Calendar cal = GregorianCalendar.getInstance();
cal.setTime(new Date());
cal.add(GregorianCalendar.MONTH, -1);

int mes_anterior = cal.get(GregorianCalendar.MONTH);

// Máximo
public static int getActualMaximum(int year, int month, int day) {
	GregorianCalendar calendar = new GregorianCalendar(year,month,day);
	return calendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
}
	
// Mínimo
public static int getActualMinimum(int year, int month, int day) {
	GregorianCalendar calendar = new GregorianCalendar(year,month,day);
	return calendar.getActualMinimum(GregorianCalendar.DAY_OF_MONTH);
}

felipedamiani era isso mesmo que eu precisava fiz apenas algumas modificações e estou postando aqui para futuras duvidas

muito obrigado a todos que me ajudaram

public class Teste {
	 Calendar cal = GregorianCalendar.getInstance();
	 
	public static void main(String args[]) {
		
		SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");
		Calendar cal = GregorianCalendar.getInstance();
		int year = 0;
		int month = 0;
		int day = 0;
		GregorianCalendar calendar = new GregorianCalendar(year, month -1, day);
		calendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH );
		calendar.getActualMinimum(GregorianCalendar.DAY_OF_MONTH );
		
		System.out.println("Data Atual: " + sd.format(cal.getTime()));
		System.out.println("Primeiro dia do Mês: " + calendar.getActualMinimum(GregorianCalendar.DAY_OF_MONTH));
		System.out.println("Ultimo dia do Mês anterior: " + calendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
    }
	   
}