Экземпляр календарного месяца отключен на единицуJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Экземпляр календарного месяца отключен на единицу

Сообщение Anonymous »

Вот мой код:

Месяц передается в цикле. Сначала 0 (так как я пишу январь), затем 1 и так далее. В следующем месяце, когда наступит февраль, этот цикл начнется с этой даты. 1, 2 и т. д.

Код: Выделить всё

    int thisMonth = Calendar.getInstance().get(Calendar.MONTH) + 1;

cal = Calendar.getInstance();
df = new SimpleDateFormat("MMM yyyy", Locale.ENGLISH);
cal.set(Calendar.MONTH, month + thisMonth);

String sMonth = df.format(cal.getTime());
В первом цикле sMonth — это март 2015 года.
Во втором цикле sMonth — это март 2015 года.
В третьем цикле sMonth — это апрель 2015 года.
В четвертом цикле sMonth — это май 2015 года.
..и так далее

Как видите, первый месяц НЕ февраль, как ожидалось. Я считаю, что сегодня 29 января, так что это может иметь какую-то причину, поскольку мы очень близки к февралю. Но если это так, то почему это произойдет дважды?

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

Подробнее здесь: https://stackoverflow.com/questions/282 ... off-by-one
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»