title: another strange behaviour with GregorianCalendar
body: <p>Take a look at the piece of code bellow:</p>
  
  <pre><code>Calendar today1 = Calendar.getInstance();
  today1.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
  System.out.println(today1.getTime());
  
  Calendar today2 = new GregorianCalendar(2010, Calendar.JULY, 14);
  today2.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
  System.out.println(today2.getTime());
  </code></pre>
  
  <p>I'm quite confused... Assuming I am running it today as July 14th, 2010, the output is:</p>
  
  <pre><code>Fri Jul 16 14:23:23 PDT 2010
  Wed Jul 14 00:00:00 PDT 2010
  </code></pre>
  
  <p>The most annoying thing is that if I add today2.getTimeInMillis() (or any other get() method) it will produce consistent result. For the code bellow:</p>
  
  <pre><code>Calendar today2 = new GregorianCalendar(2010, Calendar.JULY, 14);
  today2.getTimeInMillis();
  today2.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
  System.out.println(today2.getTime());
  </code></pre>
  
  <p>The result is:</p>
  
  <pre><code>Fri Jul 16 00:00:00 PDT 2010
  </code></pre>