Calcular data (ultimos 7 dias a partir da data do sistema)

6 respostas
andrerios

Bom dia pessoal,

Preciso montar um relatório que qdo pedimos para processar ele acessa o banco e me trás informações num período dos ultimos 7 dias a partir da data do sistema.

Estou apanhando pra fazer essa função que calcula as datas, tipo pegar a data de hoje para o final e calcular 7 dias atras para a data inicial do relatorio. Preciso de um método do tipo Date para isso.

quem puder me ajudar eu agradeco muito!

valeu!

6 Respostas

Luiz_Aguiar

Uma vez precisei fazer umas coisas macabras com datas, pelo que lembro, acho que usei o GregorialCalendar ou o Calendar, tente dar uma olhada nos métodos desses caras.

nadilsons

Entao andrerios, observa este código… acredito que é isso que vc precisa.

import java.util.Calendar;
import java.util.GregorianCalendar;


public class Calendario {

	public static void main(String[] args){
		//instancia com a data do sistema
		Calendar calendar = new GregorianCalendar();
		
		String data = calendar.get(Calendar.DAY_OF_MONTH) + "/" + 
			(calendar.get(Calendar.MONTH) + 1) + "/" + calendar.get(Calendar.YEAR);
		System.out.println(data);
		
		calendar.add(Calendar.DAY_OF_MONTH, -7);
		
		//obtem a data do sistema - 7
		String dataMenos7 = calendar.get(Calendar.DAY_OF_MONTH) + "/" + 
		(calendar.get(Calendar.MONTH) + 1) + "/" + calendar.get(Calendar.YEAR);
		System.out.println(dataMenos7);
	
	}
}

Espero ter ajudado.

Nadilson

Rafael_Nunes

Eu sugeriria você esquecer a API de datas do Java para isso, e usa o JodaTime.
http://joda-time.sourceforge.net/

andrerios

Nadilson valeu mesmo kra! vc praticamente resolveu meu problema hehehe agora é so eu encaixar esse codigo no relatorio q ta pronto hehehe

abracao! valeu mesmo!

T

nadilsons:
Entao andrerios, observa este código… acredito que é isso que vc precisa.

codigo

Espero ter ajudado.

Nadilson

muito bom Nadilson
funcionou perfeitamente aqui
obrigado

marcelo_mococa

Segundo o Rafael Nunes, usando Joda Time fica bem simples:

LocalDate date= new LocalDate().minusDays(7);

Para formatar:

String data = date.toString("dd/MM/yyyy");
Criado 19 de março de 2007
Ultima resposta 24 de jun. de 2009
Respostas 6
Participantes 6