2012-02-18 9 views

Respuesta

42

Usa los formatos de fecha de Java.

SimpleDateFormat inFormat = new SimpleDateFormat("dd-MM-yyyy"); 
Date date = inFormat.parse(input); 
SimpleDateFormat outFormat = new SimpleDateFormat("EEEE"); 
String goal = outFormat.format(date); 
8

Puede utilizar Calendario

  Calendar calendar = Calendar.getInstance(); 

      calendar.setTime(date_your_want_to_know); 

      String[] days = new String[] { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" } 

      String day = days[calendar.get(Calendar.DAY_OF_WEEK)]; 
+0

de esta manera nunca verás DOMINGO ... – dit

+1

Cadena [] días = nueva Cadena [] {"", "DOMINGO", "LUNES", "MARTES", "MIÉRCOLES", "JUEVES", "VIERNES" , "SÁBADO"} –

0

Primera convertir la cadena de fecha a una fecha con SimpleDateFormat.

Luego haga una instancia de Calendar a partir de esa fecha.

Finalmente, recupere el día de la semana del Calendar usando el get(Calendar.DAY_OF_WEEK). Esto le dará un número entero entre 1 a 7 que representa el día de la semana. Puede asignarlo a una matriz de cadenas para obtener los días.

4

Sólo tiene que utilizar una sola línea de código:

android.text.format.DateFormat.format("EEEE", date); 
+0

Este es el mejor enfoque en mi opinión. Hace exactamente lo que el autor de la pregunta solicitó y es una sola línea. – Forke

0

En respuesta @ de Vivek añadir "-1" en calendar.get(Calendar.DAY_OF_WEEK), ya que devuelve números del 1 al 7, pero el arreglo de cuerdas está indexado de 0 a 6.

calendar.setTime(date_your_want_to_know); 

String[] days = new String[] { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" } 

String day = days[calendar.get(Calendar.DAY_OF_WEEK)-1]; 
0

El siguiente método devolverá el día pasando la fecha en formato de Cadena. null se devuelve si se produce una excepción.

private String getDay(String date_in_string_format){   
     DateFormat df = DateFormat.getDateInstance(); 
     Date date; 
     try { 
      date = df.parse(date_in_string_format); 
     } catch (Exception e) { 
      Log.e("Error:","Exception " + e); 
      return null; 
     } 
     return new SimpleDateFormat("EEEE").format(date); 
    } 

Espero que ayude.

Cuestiones relacionadas