Este es un ejemplo muy sencillo para calcular cuantos días hábiles existen entre un rango de fechas:
1: <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3: <%@ page import="java.util.Calendar"%>
4: <%@ page import="java.util.Date" %>
5: <%@ page import="java.util.GregorianCalendar"%>
6: <html xmlns="http://www.w3.org/1999/xhtml">
7: <head>
8: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9: <title>Documento sin título</title>
10: </head>
11:
12: <body>
13: <%
14: /**
15: *
16: * @param fechaInicial
17: * @param fechaFinal
18: * @return dias habiles
19: */
20: //public int getDiasHabiles(Calendar fechaInicial, Calendar fechaFinal) {
21: Calendar fechaInicial = new GregorianCalendar(2011,1-1,01);
22: Calendar fechaFinal= new GregorianCalendar(2011,1-1,31);
23:
24: int diffDays= 0;
25:
26: //mientras la fecha inicial sea menor o igual que la fecha final se cuentan los dias
27: while (fechaInicial.before(fechaFinal) || fechaInicial.equals(fechaFinal)) {
28:
29: //si el dia de la semana de la fecha minima es diferente de sabado o domingo
30: if (fechaInicial.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY && fechaInicial.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) {
31: //se aumentan los dias de diferencia entre min y max
32: diffDays++;
33: }
34: //se suma 1 dia para hacer la validacion del siguiente dia.
35: fechaInicial.add(Calendar.DATE, 1);
36:
37: }
38:
39: // return diffDays;
40: out.print(diffDays);
41:
42: // }
43: %>
44: </body>
45: </html>
Descarga el código:
Fuente:
http://godieboy.com/2010/10/obtener-dias-habiles-entre-2-fechas-en-java.html
Mas recursos:
http://www.bit-net.org/java/ud6.html
http://rnt.sectur.gob.mx/rnt/interno/verificacion/DiasHabiles.java