Somar uma quantidade de dias em uma data

2 respostas
J

Bom dia a todos!

Tenho um problema básico!

Tenho um long com o seguinte conteúdo 20031113

Esse long é uma data no formato AnoMêsDia

Gostaria de poder somar um valor por exemplo 30 nesse long e retornar uma data válida no caso 20031213. Alguém pode me ajudar?

Ou poder ser de outra forma, gerar uma data apartir de um long, somar um determinado valor e voltar a nova data em long novamente.

Desde já agradeço a atenção!

2 Respostas

fenrir

Use a classe DateFormat para converter a data num objeto Date, e depois use a classe Calendar para somar o período que quiser. :wink:

J

import java.util.;
import java.text.
;

public class World {
public static void main(String[] args) {

int dias=30;   
  
  long dat1=0;
  
  GregorianCalendar data = new GregorianCalendar(2003, 11, 13);
  
  data.add(GregorianCalendar.DATE, dias);
  
  Date d = data.getTime();
  
  DateFormat df = DateFormat.getDateInstance();
  
  String s = df.format(d);
  
  System.out.println("Data " + s);
  
  System.out.println("Ano= "+s.substring(6,10));
  
  System.out.println("Mes= "+s.substring(3,5));
  
  System.out.println("Dia= "+s.substring(0,2));
  
  dat1=Long.parseLong(s.substring(6,10)+s.substring(3,5)+s.substring(0,2));
  
  System.out.println("Dat1= "+dat1);

}
}

Criado 13 de novembro de 2003
Ultima resposta 13 de nov. de 2003
Respostas 2
Participantes 2