Manejo de Fechas
Hola a todos :-) bueno mi problema es que quiero aumentar en mi programa de java 50 dias habiles a mi fecha actual descartando sabados y domingos solo contando lunes a viernes espero me puedan ayudar es urgente
Saludos............
Saludos............
Con esta función puedes sumarle días Habiles a una fecha.
<i>
//Sumas N días a un fecha
public static Date sumaDiasHabiles(Date fechaInicio, int diasIncremento)
throws Exception {
int diasHabiles = 0;
final GregorianCalendar fGC = new GregorianCalendar();
fGC.setTime(fechaInicio);
while (diasHabiles < diasIncremento) {
fGC.add(Calendar.DATE, 1);
if (<b>validaDiaHabil(fGC)</b>) {
diasHabiles++;
}
}
return fechaGC.getTime();
}
//disrcrimina sabados, domingo y dias festivos (en BD)
private static boolean validaDiaHabil(GregorianCalendar fecha)
throws Exception {
boolean response = true;
if (fecha.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY
|| fecha.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
response = false;
} else {
if (GeneralUtil.isDiaInhabil(fecha.getTime())) {
response = false;
}
}
return response;
}
//este metodo revisa en un catalogo los días inhabiles, puede no existir
private static boolean isDiaInhabil(Date fecha) throws Exception {
boolean response = VoyAlaBaseDatos.revisoCatalogoDiasInhabiles();
return response;
}
</i>
Espero te sirva, salu2!
<i>
//Sumas N días a un fecha
public static Date sumaDiasHabiles(Date fechaInicio, int diasIncremento)
throws Exception {
int diasHabiles = 0;
final GregorianCalendar fGC = new GregorianCalendar();
fGC.setTime(fechaInicio);
while (diasHabiles < diasIncremento) {
fGC.add(Calendar.DATE, 1);
if (<b>validaDiaHabil(fGC)</b>) {
diasHabiles++;
}
}
return fechaGC.getTime();
}
//disrcrimina sabados, domingo y dias festivos (en BD)
private static boolean validaDiaHabil(GregorianCalendar fecha)
throws Exception {
boolean response = true;
if (fecha.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY
|| fecha.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
response = false;
} else {
if (GeneralUtil.isDiaInhabil(fecha.getTime())) {
response = false;
}
}
return response;
}
//este metodo revisa en un catalogo los días inhabiles, puede no existir
private static boolean isDiaInhabil(Date fecha) throws Exception {
boolean response = VoyAlaBaseDatos.revisoCatalogoDiasInhabiles();
return response;
}
</i>
Espero te sirva, salu2!
