Metodo para saber cuantos dias hay de una fecha a otra...
El metodo esta probado es infalible no como otros que buscas por hay... te fallan cuando les pones fechas de diferentes años
//el primer parametro que recibe debe ser la fecha menor
//Ejemplo del formato de fecha 2014/09/12
public static int diasHabiles(String fecha1, String fecha2) {
int mes1, dia1, año1;
int mes2, dia2, año2;
año1 = Integer.parseInt((fecha1.toString()).substring(0, 4));
mes1 = Integer.parseInt((fecha1.toString()).substring(5, 7));
dia1 = Integer.parseInt((fecha1.toString()).substring(8, 10));
mes1 -= 1;
año2 = Integer.parseInt((fecha2.toString()).substring(0, 4));
mes2 = Integer.parseInt((fecha2.toString()).substring(5, 7));
dia2 = Integer.parseInt((fecha2.toString()).substring(8, 10));
mes2 -= 1;
Calendar fechaInicio = new GregorianCalendar();
fechaInicio.set(año1, mes1, dia1);
Calendar fechaFin = new GregorianCalendar();
fechaFin.set(año2, mes2, dia2);
String ff = "" + fechaFin.getTime();
int diashabiles = 0;
int añoc = fechaInicio.get(Calendar.YEAR);
while (true) {
if (fechaInicio.get(Calendar.YEAR) > añoc) {
añoc += 1;
}
String fechai = "" + fechaInicio.getTime();
if (ff.equals(fechai)) {
break;
}
fechaInicio.add(Calendar.DAY_OF_YEAR, 1);
diashabiles++;
}
return (diashabiles);
}
El metodo esta probado es infalible no como otros que buscas por hay... te fallan cuando les pones fechas de diferentes años
//el primer parametro que recibe debe ser la fecha menor
//Ejemplo del formato de fecha 2014/09/12
public static int diasHabiles(String fecha1, String fecha2) {
int mes1, dia1, año1;
int mes2, dia2, año2;
año1 = Integer.parseInt((fecha1.toString()).substring(0, 4));
mes1 = Integer.parseInt((fecha1.toString()).substring(5, 7));
dia1 = Integer.parseInt((fecha1.toString()).substring(8, 10));
mes1 -= 1;
año2 = Integer.parseInt((fecha2.toString()).substring(0, 4));
mes2 = Integer.parseInt((fecha2.toString()).substring(5, 7));
dia2 = Integer.parseInt((fecha2.toString()).substring(8, 10));
mes2 -= 1;
Calendar fechaInicio = new GregorianCalendar();
fechaInicio.set(año1, mes1, dia1);
Calendar fechaFin = new GregorianCalendar();
fechaFin.set(año2, mes2, dia2);
String ff = "" + fechaFin.getTime();
int diashabiles = 0;
int añoc = fechaInicio.get(Calendar.YEAR);
while (true) {
if (fechaInicio.get(Calendar.YEAR) > añoc) {
añoc += 1;
}
String fechai = "" + fechaInicio.getTime();
if (ff.equals(fechai)) {
break;
}
fechaInicio.add(Calendar.DAY_OF_YEAR, 1);
diashabiles++;
}
return (diashabiles);
}
No hay comentarios:
Publicar un comentario