olá a todos, estou precisando subtrair duas datas uma é a data de devolução que chamo de data1 e a outra é a data do sistema que chamo de data2, possuo um metodo dataDiff que consegui aqui no guj com um colega, mas quando passo as variaveis para o metodo retornar a diferença de dias ele da um erro que encontrou int e requer java.util.Date como reparo este erro? agradeço ajuda.
//calculando dias de atraso....//testando data//comparando...................dataFormatada=newString(palavra.getDtDev());DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");try{data1=(Date)df.parse(dataFormatada);}catch(ParseExceptionex){ex.printStackTrace();}Datedata2=newDate();//pego a data do sistemaDiffDatadaoDt=newDiffData();DatedataLow=data1;DatedataHigh=data2;//transformando a data paara inteiroDatenova=daoDt.dataDiff(dataLow,dataHigh);
Date nova espera receber uma data, mas o dataDiff (que deveria ser acessado de maneira static pela assinatura) retorna um int.
O que você precisa fazer é trabalhar com o int, acredito.
Abraços
analuiza.fagundes
Estou com este mesmo problema , alguem pode me ajudr ???
Tenho uma data inicial e uma data final , gostaria de calcular o numero de dias entre as duas…
Ah e gostaria de sabe tbm como faço para testar a partir de uma data , qual dia da semana ela representa ?
T
truck1n
kaede:
olá a todos, estou precisando subtrair duas datas uma é a data de devolução que chamo de data1 e a outra é a data do sistema que chamo de data2, possuo um metodo dataDiff que consegui aqui no guj com um colega, mas quando passo as variaveis para o metodo retornar a diferença de dias ele da um erro que encontrou int e requer java.util.Date como reparo este erro? agradeço ajuda.
//calculando dias de atraso....//testando data//comparando...................dataFormatada=newString(palavra.getDtDev());DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");try{data1=(Date)df.parse(dataFormatada);}catch(ParseExceptionex){ex.printStackTrace();}Datedata2=newDate();//pego a data do sistemaDiffDatadaoDt=newDiffData();DatedataLow=data1;DatedataHigh=data2;//transformando a data paara inteiroDatenova=daoDt.dataDiff(dataLow,dataHigh);
o metodo para calcular a diferença …
public static int dataDiff(java.util.Date dataLow, java.util.Date dataHigh){
Ok, você precisa da diferença de Dias e é isso que a função dataDiff faz ele retorna para você um inteiro que equivale a diferença de dias.
intiDiferenca=daoDt.dataDiff(dataLow,dataHigh);
Agora é só correr para o abraço!
T
truck1n
analuiza.fagundes:
Estou com este mesmo problema , alguem pode me ajudr ???
Tenho uma data inicial e uma data final , gostaria de calcular o numero de dias entre as duas…
Ah e gostaria de sabe tbm como faço para testar a partir de uma data , qual dia da semana ela representa ?
Ok , eu entendi , so que eu queria saber o codigo do metodo que calcula a diferenca de dias , eu nao consegui achar …
kaede
consegui resolver meu problema assim:
//calculando dias de atraso.... SimpleDateFormatsdf=newSimpleDateFormat("dd/MM/yyyy");Calendardata1=Calendar.getInstance();//aqui sua variavel data1Calendardata2=Calendar.getInstance();//aqui sua variavel data2try{data1.setTime(sdf.parse(txtDtDev.getText()));data2.setTime(sdf.parse(txtDtAtual.getText()));}catch(java.text.ParseExceptione){}intdias=data2.get(Calendar.DAY_OF_YEAR)-data1.get(Calendar.DAY_OF_YEAR);txtAtraso.setText(String.valueOf(dias));//aqui retorna a diferença
Espero ajude…batalhei para chegr ai…rs…
ViniGodoy
analuiza.fagundes:
Estou com este mesmo problema , alguem pode me ajudr ???
Tenho uma data inicial e uma data final , gostaria de calcular o numero de dias entre as duas…
Ah e gostaria de sabe tbm como faço para testar a partir de uma data , qual dia da semana ela representa ?
Analuiza, as soluções dadas no seu post não serviram para você? Se não serviram, porque não respondeu por lá mesmo? Dê continuidade ao seu tópico.
keade, já que você está trabalhando com datas, sugiro fortemente que você trabalhe com a biblioteca do JODA-Time. No post da AnaLuiza, postei um exemplo de como fica esse cálculo usando a biblioteca. Veja que fica ridiculamente simples:
LocalTimestart=newLocalTime("10:00:00");LocalTimeend=newLocalTime("11:30:00");Periodperiod=newPeriod(start,end);System.out.println("Entre as duas datas há: "+period.getDays()+" dias, "+period.getHours()+" horas "+period.getMinutes()+" minutos.");
kaede
Oi Vinicius, realmente eu estava sem saber como resolver o meu tópico por isso pedi ajda aqui, mas como ninguem ainda tinha me ajudado a resolver procurei tambem em outros lugares e acabei aprendendo, não tinha dado tempo de postar aqui que já tinha resolvido quando vi uma menssagem de nossa colega e resolvi postar o que consegui para ela…desculpe o mal entendido.
Quando a biblioteca do JODA-Time muito legal vou dar uma olhada sim agradeço a sua ajuda pois vou precisar dela abraços Kaede.
dofun12
Fiz um programinha para calcular a diferenca de duas datas. Para quem nao quer usar o JODA Time…
privateStringgetDiffTime(Datedate1,Datedate2){Calendarinicio=Calendar.getInstance();Calendarfim=Calendar.getInstance();inicio.setTime(date1);fim.setTime(date2);Stringperiodo;longmilliseconds,sec,min,hour,day,mnths,yrs;longtsTime1=inicio.getTimeInMillis();longtsTime2=fim.getTimeInMillis();milliseconds=(long)(tsTime2-tsTime1);//Verifica se o numero e negativo ou positivoif(milliseconds<0){periodo="atras";milliseconds=milliseconds*(-1);}else{periodo="no futuro";}sec=(long)(milliseconds/1000);//To Secondsmin=(sec/60);//To Minuteshour=(min/60);//To Hoursday=(hour/24);//To daysmnths=(day/30);//To Monthsyrs=(mnths/12);//To Years//Grava a sobralongminSobra=(sec%60);longhourSobra=(min%60);longdaySobra=(hour%24);longmnthsSobra=(day%30);longyrsSobra=(mnths%12);if((int)sec<100){return(int)sec+" Segundo(s) "+periodo;}else{if((int)min<60){return(int)min+" Minuto(s) e "+minSobra+" Segundo(s) "+periodo;}else{if((int)hour<60){return(int)hour+" Hora(s) e "+hourSobra+" Minuto(s) "+periodo;}else{if((int)day<24){return(int)day+" Dia(s) "+daySobra+" Hora(s) "+periodo;}else{if((int)mnths<12){return(int)mnths+" Mes(es) e "+mnthsSobra+" Dia(s) "+periodo;}else{return(int)yrs+" Ano(s) e "+yrsSobra+" Mes(es) "+periodo;}}}}}}