2015-01-15 4 views
1

У меня есть проблемы установить дату и получить день неделиAndroid: Установите дату и получить день недели

набор 2011/1/17 ==> получить понедельник

Date d = new Date(); 

d.setDate(17); 
d.setMonth(1); 
d.setYear(2011); 

    SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); 
    String dayOfWeek = sdf.format(d); 

/* - - - - - - - - - - ИЛИ - - - - - - - - - - - - - - - */

Calendar c = Calendar.getInstance(); 

c.set(2011, 1, 17); 

    int day = c.get(Calendar.DAY_OF_WEEK); 
    String weekDay=""; 

    switch (day) { 
       case Calendar.SUNDAY: weekDay = "Sunday"; break; 
       case Calendar.MONDAY: weekDay = "Monday"; break; 
       case Calendar.TUESDAY: weekDay = "Tuesday"; break; 
       case Calendar.WEDNESDAY: weekDay = "Wednesday"; break; 
       case Calendar.THURSDAY: weekDay = "Thursday"; break; 
       case Calendar.FRIDAY: weekDay = "Friday"; break; 
       case Calendar.SATURDAY: weekDay = "Saturday"; break; 
       } 

ответ

1

Помните января должно быть 0 в Java календарь. Чтобы установить 2011/01/17, это должно быть 2011/00/17.

c.set(2011, 0, 17); 
//or c.set(2011, Calendar.JANUARY, 17); 

int day = c.get(Calendar.DAY_OF_WEEK); 
String weekDay=""; 

switch (day) { 
      case Calendar.SUNDAY: weekDay = "Sunday"; break; 
      case Calendar.MONDAY: weekDay = "Monday"; break; 
      case Calendar.TUESDAY: weekDay = "Tuesday"; break; 
      case Calendar.WEDNESDAY: weekDay = "Wednesday"; break; 
      case Calendar.THURSDAY: weekDay = "Thursday"; break; 
      case Calendar.FRIDAY: weekDay = "Friday"; break; 
      case Calendar.SATURDAY: weekDay = "Saturday"; break; 
      } 
+0

Спасибо верно – alina

1

вы можете использовать этот

Calendar cal = Calendar.getInstance(); 
cal.set(2011, 0, 17); 
SimpleDateFormat sdf = new SimpleDateFormat("EEEE",Locale.getDefault()); 
String dayInStrinFormat = sdf.format(cal.getTime()); 

0 за январь .... 11 за декабрь

+0

да это проблема в Java Дата/время API , посмотрите здесь, чтобы получить дополнительную информацию [link] (http://stackoverflow.com/questions/344380/why-is-january-month-0-in-java-calendar) – medhdj

+0

as @Nguyen Doan Tung сказал, что вы можете использовать 0 на январь, чтобы преодолеть это – medhdj

Смежные вопросы