Сегодня понедельник (должен вернуть 2), но возвращается 7 (суббота). Что мне не хватает?
int today = Calendar.DAY_OF_WEEK;
System.out.println(today);
Вместо
int today = Calendar.DAY_OF_WEEK;
вы должны использовать
Calendar cal = Calendar.getInstance();
int today = cal.get(Calendar.DAY_OF_WEEK);
чтобы получить значение.
По пути вы только печатаете значение константы Calendar.DAY_OF_WEEK
и не получаете фактическое значение для дня вашего объекта Calendar
.
Когда вы используете
int today = Calendar.DAY_OF_WEEK;
Это то, что возвращается вам...
/**
* Field number for <code>get</code> and <code>set</code> indicating the day
* of the week. This field takes values <code>SUNDAY</code>,
* <code>MONDAY</code>, <code>TUESDAY</code>, <code>WEDNESDAY</code>,
* <code>THURSDAY</code>, <code>FRIDAY</code>, and <code>SATURDAY</code>.
*
* @see #SUNDAY
* @see #MONDAY
* @see #TUESDAY
* @see #WEDNESDAY
* @see #THURSDAY
* @see #FRIDAY
* @see #SATURDAY
*/
public final static int DAY_OF_WEEK = 7;
Использование Calendar.DAY_OF_WEEK
вернет номер поля (в этом случае 7), используемый для метода get
.
int
а не принимать значение из перечисления.