Hola.
Tengo un problema con un metodo que he realzado sobre calculo de diferencias de fechas. Todo va bien pero a la hora de visualizar el resultado este es optimo unos meses y otros no: Enero ,febrero, abril,junio, agosto , setiembre y noviembre me da correcto pero el resto: marzo se me atrasa dos dias el resutado, mayo, julio,octubre y diciembre lo hace un dia. No se donde puede estar el problema-.
El metodo es el siguiente:
public List<String> diasdeTrabajo(){
int GUARDIACUATRO1 =16071;
SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy", new Locale("es_ES"));
Calendar cal = GregorianCalendar.getInstance();
Date date = null;
for (int i=0; i< dias.size() ; i++){
try {
date = formato.parse(dias.get(i));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cal.setTime(date);
Long dia= cal.getTimeInMillis();
dia = dia/(1000*60*60*24);
dia =dia-GUARDIACUATRO1 ;
int seg2 = (int) (dia % 8);
if(seg2 ==1 || seg2 == 3|| seg2== 4){
list.add(dias.get(i)+"-CURRO");
}else{
list.add(dias.get(i)+"-WHITE");
}
}
return list;
}
la variable dias es un arrayList con los dias del mes en formato dd-MM-yy.
La constante son los dias que hay hasta el 1-1-2014
y el return es otro arrayList con los dias que curro en el mes.
Ayuda