title: Calendar.get(Calendar.DAY_OF_MONTH) returning wrong day
body: <p>When I run the following code:</p>
  
  <pre><code>int year = 2017;
  int month = 7;
  int dayOfMonth = 10;
  
  Calendar dateOfBirth = new GregorianCalendar(year, month, dayOfMonth);
  dateOfBirth.getTime(); // See http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4827490
  dateOfBirth.setTimeZone(TimeZone.getTimeZone("UTC"));
  
  System.out.println("Original Day Of Month:\t\t" + dayOfMonth);
  System.out.println("Calendar:\t\t\t" + dateOfBirth);
  System.out.println("Calendar substring:\t\t" + dateOfBirth.toString().substring(dateOfBirth.toString().indexOf("DAY_OF_MONTH"), dateOfBirth.toString().indexOf("DAY_OF_MONTH") + 15));
  System.out.println("Formatted date:\t\t\t" + new SimpleDateFormat("dd").format(dateOfBirth.getTime()));
  System.out.println("get(Calendar.DAY_OF_MONTH):\t" + dateOfBirth.get(Calendar.DAY_OF_MONTH));
  </code></pre>
  
  <p>I get this output:</p>
  
  <pre><code>Original Day Of Month:      10
  Calendar:                   java.util.GregorianCalendar[time=1502312400000,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2017,MONTH=7,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=10,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?]
  Calendar substring:         DAY_OF_MONTH=10
  Formatted date:             10
  get(Calendar.DAY_OF_MONTH): 9
  </code></pre>
  
  <p>As you can see, the value returned by <code>dateOfBirth.get(Calendar.DAY_OF_MONTH)</code> is incorrect.</p>
  
  <p>I am using UTC because it's a date of birth, and I don't want it to be dependent on a particular time zone. And in order to do so correctly, I need to make the call to <code>dateOfBirth.getTime()</code> - see <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4827490" rel="nofollow noreferrer">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4827490</a>.
  If I take out that call, this works correctly, but then I encounter other bugs. </p>
  
  <p>Any idea what I can do to accurately get the correct day of the month?</p>
  
  <p>I'm using Java v1.7.0_79, and, in case it matters, I'm currently in GMT+3.</p>