Java григорианский календарь возвращает неправильный месяц

Так что я занимался этим несколько часов, и он возвращает правильный год и день, но по какой-то странной причине он возвращает неправильный месяц. Я уверен, что это простое решение, но я не могу понять это.

package gregoriancalendar;

import java.util.GregorianCalendar;

public class Calendar8_5 {



public static void main(String[] args){

GregorianCalendar calendar = new GregorianCalendar();
System.out.println("Current Year, Month & Date: ");
System.out.println("Year is " + calendar.get(1));
System.out.println("Month is " + calendar.get(2));
System.out.println("Day is " + calendar.get(5));


calendar.setTimeInMillis(1234567898765L);
//Elapse Time
System.out.println("Set Value of 1234567898765L");
System.out.println("Year is " + calendar.get(1));
System.out.println("Month is " + calendar.get(2));
System.out.println("Day is " + calendar.get(5));
   }
  }

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

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