Data - primeiro e ultimo dia do mês

Pessoal, sinceramente detesto trabalhar com data em Java.

Por isso preciso de ajuda,

Como pegar o primeiro e ultimo dia do mês corrente, eu consigo.
Meu problema está em pegar o primeiro e ultimo dia do mês selecionado no ano vigente, numa lista de opções.

Algo assim:

private Date primeiroDia(String mes){}

private Date ultimoDia(String mes){}

Em uso… seria

Date dataInicio = primeiroDia(cmbMes.getSelectedItem().toString());

ou

Date dataTermino = ultimoDia("Junho");

Use Joda time: http://stackoverflow.com/a/9711483/2845003

Nâo dá pra fazer usando sem a necessidade de dependências?

O primeiro dia do mês sempre vai ser 1, simples. Para saber o último dia do mês, use a classe Calendar():

Calendar c = Calendar.getInstance();
calendar.set(Calendar.MONTH, 0); //setando o mês para janeiro
int dias = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("Dias: " + dias);
1 curtida

Da sim, java.time Java 8

Atenção que desta forma podes ter resultados incorretos quando executado nos dias 29,30 e 31 :slight_smile:
Antes do set do MONTH, deves fazer o set do DAY_OF_MONTH para 1.

1 curtida