Não sei se já tem alguma coisa pronta, mas com certeza com o método split da classe String vc implementa isso rapidinho, isso se as horas se referirem a horas de um msm dia…
I
igor.cardoso
renzonuccitelli:
Não sei se já tem alguma coisa pronta, mas com certeza com o método split da classe String vc implementa isso rapidinho, isso se as horas se referirem a horas de um msm dia...
usei ele em alguns exemplos.. vou postar o metodo aqui... no caso de negativo está dando pala.. e esta gigante o metodo.. quero algo mais preciso.
la vai metodo:
publicStringsubtraiHora(Stringmaior,Stringmenor){StringhoraSubtraida;Stringsinal="";//Periodo a ser somado String[]maiorHoraArray=maior.split(":");inthrMaior=Integer.parseInt(maiorHoraArray[0]);intminMaior=Integer.parseInt(maiorHoraArray[1]);//Periodo a somar String[]menorHoraArray=menor.split(":");inthrMenor=Integer.parseInt(menorHoraArray[0]);intminMenor=Integer.parseInt(menorHoraArray[1]);inthoraFinal=hrMaior-hrMenor;intminFinal=minMaior-minMenor;if(minFinal<0){if(hrMaior>0){horaFinal--;minFinal+=60;}else{minFinal*=-1;}}StringhoraFim=newInteger(horaFinal).toString();StringminFim=newInteger(minFinal).toString();if(horaFinal<0){if(horaFim.length()==2){horaFim="-0"+horaFim.substring(1,2);}}if(horaFim.length()==1){horaFim="0"+horaFim;}if(minFim.length()==1){minFim="0"+minFim;}horaSubtraida=horaFim+":"+minFim;returnhoraSubtraida;}
Felagund
Será que utilizando a classe Calendar não seria mais facil?
[]'s
I
igor.cardoso
Felagund:
Será que utilizando a classe Calendar não seria mais facil?
[]'s
o problema fica quando der negativa a subtração… ele para em zero(posso esta enganado).
T
thingol
A classe Calendar, como foi comentado, é inadequada para formatar diferença entre duas datas.
Uso ele no metodo de somar!
segue ae pro pessol
la vai metodo!!!!
publicStringsomaHora(Stringhora1,Stringhora2){//Periodo a ser somado String[]arraySomado=hora1.split(":");inth=Integer.parseInt(arraySomado[0]);intm=Integer.parseInt(arraySomado[1]);Periodsomado=newPeriod(h,m,0,0);//Periodo a somar String[]arraySoma=hora2.split(":");inth2=Integer.parseInt(arraySoma[0]);intm2=Integer.parseInt(arraySoma[1]);Periodsoma=newPeriod(h2,m2,0,0);//Soma somado=somado.plus(soma);//Normaliza somado=somado.normalizedStandard(PeriodType.time());//Formata PeriodFormatterpf=newPeriodFormatterBuilder().printZeroAlways().minimumPrintedDigits(2).appendHours().appendSeparator(":").appendMinutes().toFormatter();returnsomado.toString(pf);}
para subtrair não achei nenhum metodo do joda.
Help...