title: Java Calendar set time to 12am of previous day in UTC
body: <p>Can someone explain why or if this code is wrong?</p>
  
  <pre><code>// main
  Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
  System.out.println(calendar.getTime());
  calendar.add(Calendar.DATE, -1);
  System.out.println(calendar.getTime());
  calendar.set(Calendar.HOUR_OF_DAY, 0);
  System.out.println(calendar.getTime());
  </code></pre>
  
  <p>It produces:</p>
  
  <pre><code>Fri Jan 28 15:27:35 EST 2011
  Thu Jan 27 15:27:35 EST 2011
  Wed Jan 26 19:27:35 EST 2011
  </code></pre>
  
  <p>Am I missing something obvious?  I expect to see something like Thu Jan 27 00:27:35 EST 2011</p>
  
  <p>Thanks.</p>