Да, вы спрашивали об этом для дня недели - и 28 февраля был понедельник, день 2 . Обратите внимание, что в приведенном вами коде вы на самом деле не устанавливаете дату где-либо - она просто использует текущую дату, то есть среду, поэтому вы получаете 4. Если бы вы могли покажите, как вы пытаетесь установить календарь на другую дату (например, 28 февраля), и мы можем понять, почему это не работает для вас.
Если вы хотите, чтобы он был отформатирован как текст, вы можете использовать SimpleDateFormat
и спецификатор "E". Например (не проверено):
SimpleDateFormat formatter = new SimpleDateFormat("EEE");
String text = formatter.format(cal.getTime());
Лично я бы вообще не использовал Calendar
- используйте Joda Time , который намного лучше API даты и времени.