Colocar data na coluna da Jtable

15 respostas
akiles

Boa trade pessoal!!
Tenho um problema, tenho um metodo que pega duas data e subtrai uma pela outra, eu preciso colocar o resulta desse metodo coluna com os valores, alguem pode me ajudar.

15 Respostas

G

mas consegue fazer a subtração e sai resultado?

akiles

sim, no teste funciona, ai quando eu jogo para pagar as data do banco ele vem null

G

coloca seu codigo ai, pois não intendi se funciona como vem null do banco… c ta buscando como do banco, getDate ou getString?

akiles

Esse e o metodo que faz o subtração!!

public void calculardata(DadosDasBolsas bolsas){

SimpleDateFormat dataformatada = new SimpleDateFormat(dd/MM/yyyy);

Date datahoje = null;

Date datavencimento = null;
try {
		datahoje = dataformatada.parse(dataformatada.format(new Date()));
		datavencimento = dataformatada.parse(bolsas.getVencimento());

	} catch (java.text.ParseException e) {
		return;
	}
	long diferencaMS = datavencimento.getTime()-datahoje.getTime();
	long diferencaSegundos = diferencaMS / 1000;   
	long diferencaMinutos = diferencaSegundos / 60;   
	long diferencaHoras = diferencaMinutos / 60;   
	long diferencaDias = diferencaHoras / 24;  

	//bolsas.setAlarme(dataformatada.format(diferencaDias));
	System.out.println(diferencaMS);   
	System.out.println(diferencaSegundos);   
	System.out.println(diferencaMinutos);   
	System.out.println(diferencaHoras);   
	System.out.println(diferencaDias);
}
akiles

Esse e o teste!!

public class Testardata {

public static void main(String[] args) {

try {

DadosDasBolsas bolsas = new DadosDasBolsas();

DadosHemocomponentesBancoDAO dao = new DadosHemocomponentesBancoDAO();

SimpleDateFormat dataformatada = new SimpleDateFormat(dd/MM/yyyy);

bolsas.setVencimento(20/09/2010);

bolsas.setDatahoje(dataformatada.format(new Date()));

dao.calculardata(bolsas);

System.out.println(dataformatada);
} catch (Exception e) {
		// TODO: handle exception
	}
}

}

G

coloca o codigo entre code

public void calculardata(DadosDasBolsas bolsas){ 
SimpleDateFormat dataformatada = new SimpleDateFormat("dd/MM/yyyy"); 
Date datahoje = null; 
Date datavencimento = null; 

try { 
datahoje = dataformatada.parse(dataformatada.format(new Date())); 
datavencimento = dataformatada.parse(bolsas.getVencimento()); 
// Coloca um system.out.println(datavencimento); pra ver o que vai imprimir, e modifica esse seu catch e outra coisa faz a subtração em propria date.
} catch (java.text.ParseException e) { 
return; 
} 
long diferencaMS = datavencimento.getTime()-datahoje.getTime(); 
long diferencaSegundos = diferencaMS / 1000; 
long diferencaMinutos = diferencaSegundos / 60; 
long diferencaHoras = diferencaMinutos / 60; 
long diferencaDias = diferencaHoras / 24; 

//bolsas.setAlarme(dataformatada.format(diferencaDias)); 
System.out.println(diferencaMS); 
System.out.println(diferencaSegundos); 
System.out.println(diferencaMinutos); 
System.out.println(diferencaHoras); 
System.out.println(diferencaDias); 
}
akiles

Não entendi,

G

so coloca um system.out.println(datavencimento) pra ve o que ele vai imprimir.

akiles

sim, isso eu ja fiz e saio como eu esperava, mas quando eu, vo pegar as datas do banco ele vem null

G

agora que eu vi

datavencimento.getTime()-datahoje.getTime();
é assim

datavencimento - datahoje;

akiles

Então quando eu datavencimento do banco ele vem null,
ja não sei como fazer, vc tem ideia de como pode der feito.

Marky.Vasconcelos

Olha no seu banco pra ver se realmente está null, e depois ve a SQL que carrega do banco.

akiles

cara não da, ta dificil

akiles
Galera eu tenho o seguinte metodo!!

public void calculardata(DadosDasBolsas bolsas){

try {

DadosHemocomponentesBancoDAO dao = new DadosHemocomponentesBancoDAO();

DadosDasBolsas bol = new DadosDasBolsas();
Date datahoje = null;
		Date datavencimento = null;
		SimpleDateFormat datas = new SimpleDateFormat("dd/MM/yyyy");
		List<DadosDasBolsas> dadosbolsas = dao.getLista(bol);   
		for(DadosDasBolsas dadospaciente : dadosbolsas ){
			datahoje = datas.parse(datas.format(new Date()));
			datavencimento = datas.parse(dadospaciente.getDataVencimento());
			
			long diferencaMS = datavencimento.getTime()-datahoje.getTime();
			long diferencaSegundos = diferencaMS / 1000;   
			long diferencaMinutos = diferencaSegundos / 60;   
			long diferencaHoras = diferencaMinutos / 60;   
			long diferencaDias = diferencaHoras / 24;  

			dadospaciente.setVencimento(diferencaDias);
			System.out.println(diferencaDias);
			
		}
	} catch (java.text.ParseException e) {
		return;
	}
	
}

como faço para mandar o resultado para getvencimento onde vai para a tabela.

akiles

preciso pegar o valor
"dadospaciente.setVencimento(diferencaDias); "
e colocar no neu getVencimento, ele ta reclamando no “setVencimento”

Criado 30 de agosto de 2010
Ultima resposta 30 de ago. de 2010
Respostas 15
Participantes 3