2013-04-29 2 views
0

У меня есть соответствующее название месяца, например JANUARY или FEBRUARY, в переменной String.Посещение объекта Calendar в Java

Теперь, как установить месяц объекта Calendar в java, используя эту переменную String.

Я пробовал настройку с помощью метода calendar.set, но он принимает только значения int.

+0

@Paul Bellora: Большое спасибо. –

ответ

0

Вы можете использовать отражение для извлечения значения поля (см. Функцию monthValue()).

public class Main { 
    public static void main(String[] args) 
      throws NoSuchFieldException, IllegalAccessException { 
     Calendar c = Calendar.getInstance(); 
     c.set(Calendar.MONTH, monthValue("January")); 
     System.out.println(c.getTime()); 
    } 

    public static int monthValue(String monthName) 
      throws NoSuchFieldException, IllegalAccessException { 
     Field monthConstant = Calendar.class.getField(monthName.toUpperCase()); 
     return monthConstant.getInt(null); 
    } 
}