viernes, 4 de diciembre de 2015

Día de la semana en español con Java

Java
Siguiendo con los post dedicados a fechas, en este artículo se explicará cómo obtener el día de la semana dada una fecha en concreto. Supongamos que nos dan un String con la fecha en formato año-mes-día. Lo primero que habría que hacer sería trocear la cadena:

    String fecha = "2015-11-19";
    StringTokenizer st = new StringTokenizer(fecha, "-");
    String año = st.nextToken(); 
    String mes = st.nextToken(); 
    String dia = st.nextToken();

Posteriormente creamos el objeto Calendar y mostramos el día de semana, que corresponderá al campo DAY_OF_WEEK del objeto Calendar:
    Calendar cal = GregorianCalendar.getInstance(); 
    cal.set(Integer.parseInt(año), Integer.parseInt(mes) - 1 , Integer.parseInt(dia)); 
    System.out.println(cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, new Locale("ES")));

Aquí tenemos que tener en cuenta varios aspectos:
  • El número de mes empieza en 0, correspondiendo el 0 a Enero, el 1 a Febrero, el 2 a Marzo, … Por eso hacemos mes-1 al pasar el parámetro mes.
  • Hemos definido el idioma español mediante new Locale (“ES”). Podemos consultar otras constantes para definir el lenguaje aquí: http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html .
  • El día de semana se muestra en formato largo, ya que lo hemos indicado en Calendar.LONG . Si lo queremos en formato corto, lo sustituiremos por Calendar.SHORT.
  • Los parámetros año, mes y día los hemos convertido de String a int mediante Integer.parseInt .

Como siempre, podéis utilizar los comentarios para plantear vuestras dudas.




2 Comentarios:

Lcda. Génesis Gomez dijo...

Gracias excelente aporte!!

Felipe Martínez D. dijo...

Gracias a tí por comentar. Un saludo.

Publicar un comentario

Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO