title: Printing the correct date with Java GregorianCalendar Class
body: <p>I'm trying to print a few things, such as today's date, the day of the week, the date that it will be 100 days from now, the day of the week one hundred days from now, my birthday and day of the week, and 10,000 days after my birthday and that day of the week. Now, I understand that the GregorianCalendar starts at 0 for January and goes to 11 for December. I get that, so it makes sense that when I attempt to print the date it says today's date is 8/25/12 rather than 9/25/12, but I have no idea how to correct this without setting the date ahead an extra month and then actually putting the month into October rather than September.</p>
  
  <p>Here is what I'm dealing with currently.</p>
  
  <pre><code>        GregorianCalendar cal = new GregorianCalendar();
          int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
          int month = cal.get(Calendar.MONTH);
          int year = cal.get(Calendar.YEAR);
          int weekday = cal.get(Calendar.DAY_OF_WEEK);
          cal.add(Calendar.DAY_OF_MONTH, 100);
          int dayOfMonth2 = cal.get(Calendar.DAY_OF_MONTH);
          int month2 = cal.get(Calendar.MONTH);
          int year2 = cal.get(Calendar.YEAR);
          int weekday2 = cal.get(Calendar.DAY_OF_WEEK);
          GregorianCalendar birthday = new GregorianCalendar(1994, Calendar.JANUARY, 1);
          int dayOfMonth3 = birthday.get(Calendar.DAY_OF_MONTH);
          int month3 = birthday.get(Calendar.MONTH);
          int year3 = birthday.get(Calendar.YEAR);
          int weekday3 = birthday.get(Calendar.DAY_OF_WEEK);
          birthday.add(Calendar.DAY_OF_MONTH, 10000);
          int weekday4 = birthday.get(Calendar.DAY_OF_WEEK);
          int dayOfMonth4 = birthday.get(Calendar.DAY_OF_MONTH);
          int month4 = birthday.get(Calendar.MONTH);
          int year4 = birthday.get(Calendar.YEAR);
          System.out.printf("Todays date is " +month + "/" +dayOfMonth +"/" +year +".");
          System.out.printf(" It is day " +weekday +" of the week");
          System.out.println("");
          System.out.printf("In 100 days it will be " +month2 + "/" +dayOfMonth2 +"/" +year2 +". ");
          System.out.printf("Day " +weekday2 +" of the week");
          System.out.println("");
          System.out.printf("My Birthday is " +month3 + "/" +dayOfMonth3 +"/" +year3 +". "+"Day " +weekday3 +" of the week");
          System.out.println("");
          System.out.printf("10,000 days after my birthday is " +month4 + "/" +dayOfMonth4 +"/" +year4 +". " +"Day " +weekday4 +" of the week");
  </code></pre>
  
  <p>So I need help correcting the month for today's date, the date in 100 days, the date of my birthday, and 10,000 days after my birthday. Any help or insight is much appreciated.</p>