Почему-то
calendar.get(Calendar.DAY_OF_WEEK);
возвращает неправильный день недели. Специально поставил текущую дату, но вместо среды выдает четверг.