Получить день недели от GregorianCalendar

У меня есть дата, и мне нужно знать день недели, поэтому я использовал объект GregorianCalendar, но я получаю некоторые неправильные даты.

GregorianCalendar calendar = new GregorianCalendar(year, month, day);
int i = calendar.get(Calendar.DAY_OF_WEEK);

Что я делаю неправильно?

Спасибо!

РЕДАКТИРОВАТЬ РЕШЕНИЕ:

mont--;
GregorianCalendar calendar = new GregorianCalendar(year, month, day);
int i = calendar.get(Calendar.DAY_OF_WEEK);

    if(i == 2){
        dayOfTheWeek = "Mon";           
    } else if (i==3){
        dayOfTheWeek = "Tue";
    } else if (i==4){
        dayOfTheWeek = "Wed";
    } else if (i==5){
        dayOfTheWeek = "Thu";
    } else if (i==6){
        dayOfTheWeek = "Fri";
    } else if (i==7){
        dayOfTheWeek = "Sat";
    } else if (i==1){
        dayOfTheWeek = "Sun";
    }

Ответы на вопрос(3)

Ваш ответ на вопрос