Java - Problema al trabajar con días

 
Vista:
sin imagen de perfil

Problema al trabajar con días

Publicado por Faustino (6 intervenciones) el 15/12/2014 21:45:05
Hola. Trato de hacer una aplicacion de mis dias de trabajo. Trabajo a turnos con una cadencia de 8 dias.
Creo un metodo que me va a retornar un ArrayList con los dias del mes que trabajo y con los que no. Para ello utilizo un Array que llamo "dias" que son los dias del mes. 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
28
public List<String>  diasdeTrabajo(){
	int GUARDIACUATRO1 =16071;
	SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy");
	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;
}

Dentro de la vista del calendario cree un TextView donde visualizo el contenido de "dias".
Me retorna otro ArrayList "list" que se utiliza para el diseño del calendario, creando un String[] day_color.
El comienzo del calendario es febrero de 2014. El resultado es que febrero bien, marzo mal se me adelanta un dia al ciclo establecido, abril bien, mayo mal en lo mismo..... es decir un mes bien y el otro mal. No entiendo porque.
Les adjunto un rar con el proyecto. Por favor aclarenme donde tengo el error.
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