
Problema con fechas
Publicado por Faustino (6 intervenciones) el 18/12/2014 22:59:45
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:
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
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 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
Valora esta pregunta


0