En este metodo hacemos uso de la clase SimpleDateFormat para validar que una fecha cumpla con el formato dd/MM/yyyy (dia/mes/año), esto aplicaria en los casos en donde es necesario que el usuario ingrese la fecha manualmente sin hacer uso de algun componente como jCalendar
public static boolean isFechaValida(String fecha) {
try {
SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
formatoFecha.setLenient(false);
formatoFecha.parse(fecha);
} catch (ParseException e) {
return false;
}
return true;
}
Nota: importar la clase java.text.SimpleDateFormat;
gracias esto me funciono"
ResponderEliminarGracias.... estoy aprendiendo java y validar una fecha me estaba partiendo la cabeza... funciona bien...
ResponderEliminarY si ingreso dia 40 del mes 15 del año 2014 o sea 40/15/2014 tambien es valido ? o ese codigo solo valida el formato d/m/a?
ResponderEliminarESA FECHA NO ES VALIDA, ASI QUE LANZARÁ UNA EXCEPCION.
EliminarLa fecha no es valida, pero el formato si. Con ese codigo solo validas que el "formato" se cumpla, nada mas.
ResponderEliminarCon el codigo que hay no solo se esta validando el formato de la fecha tb que sea una fecha valida. La clave esta en la propiedad setLenient (que por defecto vale true). Si seteamos esa propiedad a false una fecha como 30/15/2015 NO seria valida y lanzaria excepcion. En cambio si no seteamos esa propiedad Lenient o la seteamos a true, lo que hace es calcular la fecha q seria correcta segun lo introducido, es decir, si la fecha q va a comprobar es 40/15/2015, lo que hace es convertirla a 9/04/2016 cogiendo los 15 meses y convirtiendolo a 1 año y 3 meses y los 40 dias en un mes y 9 dias (pq el mes q hace 3 es marzo y tiene 31)
ResponderEliminarEjmpl: 2/10/0 lo toma como fecha valida, no experimenta el comportamiento deseado
ResponderEliminarComo uso esa clase, ayuda¡
ResponderEliminarComo uso esa clase, ayuda¡
ResponderEliminaren el caso de model view controller donde agrego ese metodo?
ResponderEliminarGracias, me funciono perfecto!
ResponderEliminarme encanta
ResponderEliminar