Erro ao pegar a data dos últimos 3 meses?

2 respostas Resolvido
programaçãojava
AlisonSoldado

Estou querendo pegar a data de hoje e a data de 3 meses atrás, no código abaixo só consigo pegar a data do mês anterior, e se eu colocar menos 3 na frente da variável mes1, o mês vai pra zero :confused:

Calendar calendar = Calendar.getInstance();
int ano = calendar.get(Calendar.YEAR);
int mes = calendar.get(Calendar.MONTH)+1;
int mes1 = calendar.get(Calendar.MONTH);
int dia = calendar.get(Calendar.DAY_OF_MONTH);
     
String inicioData1 = String.valueOf(dia +"/"+ mes1 +"/"+ ano);
String finalData1 = String.valueOf(dia +"/"+ mes +"/"+ ano);

2 Respostas

A
Solucao aceita

Geralmente é uma má ideia manipular datas dessa forma. Você sempre vai esquecer de lidar com detalhes como ano bissexto, ou como nao tem dia 30 em fevereiro.

Use os métodos apropriados da classe Calendar pra isso:

Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.MONTH, -3);
    System.out.println(calendar.getTime());

Como está em android, imagino que nao tenha acesso ao Java 8, que tem uma api de datas muito melhor.
Recomendo usar JodaTime, que é muito mais prática que a api do java.

AlisonSoldado

Valeu AbelBueno! Deu certo :slight_smile:

Criado 16 de março de 2017
Ultima resposta 16 de mar. de 2017
Respostas 2
Participantes 2