[RESOLVIDO] Erro ao mostrar data atual

Bom dia pessoal!

Estou com um erro ao mostrar a data atual dentro de uma JLabel meu código está da seguinte forma…

//funcionalidade de mostrar a data atual.
Calendar c1 = Calendar.getInstance(new Locale(“pt”, “BR”));
lblDATA.setText(c1.get(Calendar.DAY_OF_MONTH) + “/” + c1.get(Calendar.MONTH) + “/” c1.get(Calendar.YEAR));

mas ele mostra o seguinte:

image

o mês está incorreto se alguém puder me ajudar, desde de já agradeço.

Qual erro?

Bom dia irmão!

então ele aparece com o mês incorreto.

Se consultar a documentação da classe Calendar vai descobrir que o primeiro mês é 0, o segundo é 1 e assim sucessivamente.

Interessante não sabia que na classe Calendar o mês começa no 0, mas enfim o que me recomenda para consertar esse erro?

Fazendo algumas pesquisas consegui consertar, fiz da seguinte forma…

SimpleDateFormat sdf = new SimpleDateFormat(“dd/MM/yyyy”);
lblDATA.setText(sdf.format(new Date()));

Somar 1 ao resultado do get(Calendar.MONTH). :slight_smile:

Mas como você só quer apresentar uma data formatada, é mais simples usar um SimpleDateFormat.

O Calendar você utiliza quando quiser manipular os campos individualmente, mas já existem classes mais fáceis no pacote java.time.