ViniGodoy:
Esqueci de comentar, o método getDateDiffMillis() do outro post seria implementado assim:
public long getDateDiffMillis(Date inicio, Date fim) {
return data2.getTime() - date1.getTime();
}
Aquele calculo só transforma esse retorno em HH:MM:SS
Vini, seguinte!!! Montei este método no qual tenho que subtrair aquelas marcações que citei no post. ta assim:
public String substractHorasMarcacao(ArrayList<Timestamp> marcacoes, Timestamp data) throws ParseException{
SimpleDateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd");
long tempoFinal = 0;
int dia = Integer.parseInt(data.toString().substring(8, 10));
int mes = Integer.parseInt(data.toString().substring(5, 7));
int ano = Integer.parseInt(data.toString().substring(0, 4));
int x = 0;
for(int i = 0; i < (marcacoes.size()/2); i++){
Timestamp horaAnt = marcacoes.get(x);
Timestamp horaSeg = marcacoes.get(1+x);
int horaA = Integer.parseInt(horaAnt.toString().substring(11, 13));
int minA = Integer.parseInt(horaAnt.toString().substring(14, 16));
int segA = Integer.parseInt(horaAnt.toString().substring(17, 19));
int horaS = Integer.parseInt(horaSeg.toString().substring(11, 13));
int minS = Integer.parseInt(horaSeg.toString().substring(14, 16));
int segS = Integer.parseInt(horaSeg.toString().substring(17, 19));
DateTime inicio = new DateTime(ano, mes, dia, horaA, minA, segA, 0);
DateTime fim = new DateTime(ano, mes, dia, horaS, minS, segS, 0);
if( horaSeg.getTime() < horaAnt.getTime() ){
Calendar addDia = new GregorianCalendar();
addDia.setTime(data);
addDia.add(Calendar.DATE, 1);
String dataAux = dFormat.format(addDia.getTime());
fim = new DateTime(Integer.parseInt(dataAux.toString().substring(0, 4)), Integer.parseInt(dataAux.toString().substring(5, 7)), Integer.parseInt(dataAux.toString().substring(8, 10)), horaS, minS, segS, 0);
}
long subMarcacao = (Minutes.minutesBetween(inicio, fim).getMinutes());
// 2250
x += 2;
tempoFinal += subMarcacao;
}
return // TRansformar milisegundos para hora
}
Agora pra finalizar, eu preciso tranformar os minutos de diferença encontrado em milisegundos e depois converter os milisegundos no formato HH:mm.
Como faço isso com o Joda? Pode me dar uma mão nisso?
Muito obrigada pela atenção!
Bjão