2016-02-22 3 views
1

У меня есть код, в котором я должен найти МЕСЯЦ, поэтому мы добавили в него месяцы. Метод gettime() показывает обновленное время, но поле MONTH не обновляется. В приведенном ниже примере измененный месяц совпадает с текущим месяцем.Календарь Месяц не обновляется

Calendar cal = Calendar.getInstance(); 
System.out.println("Current time is "+ cal.getTime()); 
System.out.println("Current month is "+Calendar.MONTH); 
cal.add(Calendar.MONTH, -2); 

System.out.println("Changed time is "+ cal.getTime()); 
System.out.println("Changed month is "+Calendar.MONTH); 

Выход выше код Текущее время Пт Мар 22 17:59:13 IST 2016 Текущий месяц 2 Измененное время Вт 22 декабря 17:59:13 IST 2015 Изменено месяц 2

Я не хочу, чтобы использовать устаревшие методы календарного класса, чтобы получить месяцев

+1

'Calendar.MONTH' определяется как' 2' и используется для поиска поля, которое вы хотите в календаре. –

+0

не получил, что в результатах поиска – JManish

ответ

4

Calendar.MONTH является постоянным числом. Вы хотите скорее:

int month = cal.get(Calendar.MONTH); // zero-based!!! 
System.out.println("Month=" + (month + 1));