Mostrar num string primeiro e ultimo dia do mes corrente? {Resolvido}

Pessoal como mostro o primeiro e ultimo dia do mes corrente num string?

Tentei assim


import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DataMes {

	ZeroEsquerda zeroesquerda = new ZeroEsquerda();
	private int primeiroDia;
	private int ultimoDia;
	private int mesCorrente;
	private int anoCorrente;
	
	
	public String dataMes(boolean primeiroDiaB) {
		String dataString = "";
		Calendar cal = GregorianCalendar.getInstance();
		cal.setTime(new Date());	

		primeiroDia = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
		ultimoDia = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		mesCorrente = (cal.get(Calendar.MONDAY) + 1);
		anoCorrente = cal.get(Calendar.YEAR);	
		
		String sprimeiroDia = zeroesquerda.preencheZeroAEsquerda(primeiroDia, 1);
		String smesCorrente = zeroesquerda.preencheZeroAEsquerda(mesCorrente, 1);	

		if (primeiroDiaB) {
			dataString = sprimeiroDia + "/"
					+ smesCorrente + "/"
					+ String.valueOf(anoCorrente);
		} else {
			dataString = String.valueOf(ultimoDia) + "/"
					+ smesCorrente + "/"
					+ String.valueOf(anoCorrente);
		}

		return (dataString);
	}

}
public class ZeroEsquerda {
	
    public String preencheZeroAEsquerda(int numero, int quantidade) {  
        
        String s = String.valueOf(numero);  
          
        if (s.length() < quantidade) {  
           int zeros = s.length() - quantidade;  
           StringBuffer buffer = new StringBuffer();  
           for (int i = 0; i < quantidade; i++) {  
             buffer.append("0");  
           }  
           buffer.append(s);  
           s = buffer.toString();  
        }   
       return s;  
     }  
}

Mais aparece 1/3/2013 - 31/3/2013

Queria que aparecesse 01/03/2013 - 31/03/2013

Ai tentei usar uma função zeroesquerda que achei na net, mais não resolveu.

Como seria o método correto para fazer isso?

Obrigado.

cara seria muito mais facil vc usar SimpleDateFormat

Se vc tem o dia e o mês vc pode fazer assim

Usa if ternário

dia.length == 1 ? "0"+dia : dia;
mes.length == 1 ? "0"+mes : mes;

ou o SimpleDateFormat como o Danilo falou

Cara, o primeiro dia do mes é sempre 1… entao concatena “01” + “/” + mes + “/” + ano
O resto vc ja conseguiu.

Senhores, acho que eu entendi a ideia de vocês.

Ai coloquei no metodo o seguinte:

String sprimeiroDia = "0" + String.valueOf(primeiroDia); String smesCorrente = String.valueOf(mesCorrente); if (smesCorrente.length()==1){ smesCorrente = "0" + smesCorrente; }

Parece que agora deu certo…Obrigado a todos.

Se vc usar o ternário economiza muitas linhas! :smiley:

[quote=diogo soares]Se vc usar o ternário economiza muitas linhas! :smiley: [/quote]Obrigado, é que eu conheco pouco o java, por isso minha dificuldade, mais vou dar uma olhada de como usar o “ternário”