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.
mas consegue fazer a subtração e sai resultado?
sim, no teste funciona, ai quando eu jogo para pagar as data do banco ele vem null
coloca seu codigo ai, pois não intendi se funciona como vem null do banco… c ta buscando como do banco, getDate ou getString?
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);
}
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
}
}
}
coloca o codigo entre code
[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);
} [/code]
Não entendi,
so coloca um system.out.println(datavencimento) pra ve o que ele vai imprimir.
sim, isso eu ja fiz e saio como eu esperava, mas quando eu, vo pegar as datas do banco ele vem null
agora que eu vi
datavencimento.getTime()-datahoje.getTime();
é assim
datavencimento - datahoje;
Então quando eu datavencimento do banco ele vem null,
ja não sei como fazer, vc tem ideia de como pode der feito.
Olha no seu banco pra ver se realmente está null, e depois ve a SQL que carrega do banco.
cara não da, ta dificil
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.
preciso pegar o valor
"dadospaciente.setVencimento(diferencaDias); "
e colocar no neu getVencimento, ele ta reclamando no “setVencimento”