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:
o mês está incorreto se alguém puder me ajudar, desde de já agradeço.
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)
.
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.