Java - Problema con fechas

 
Vista:
sin imagen de perfil

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:
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 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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder