title: SimpleDateFormat format removes leading zero from milliseconds
body: <p>I'm having difficulties formating milliseconds with SimpleDateFormat. I'm trying to get accurate millisecond output with pattern "SS", but when millisecond starts with zero SimpleDateFormat.format() will remove leading zero and return remaining digits.</p>
  
  <p>For example I'm expecting to get output of "08" but instead I get "87" from time 02:20:48.087 with format pattern "SS" or "S".</p>
  
  <p>In javadoc it's stated that two letter pattern outputs are interpreted as numbers but same problem also occurs with one S letter.</p>
  
  <pre><code>SimpleDateFormat test = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
  Calendar testCalendar = Calendar.getInstance();
  long unixtime = 435457248087L; // 1983-10-20 02:20:48.087
  testCalendar.setTimeInMillis(unixtime);
  
  String output = test.format(testCalendar.getTime());
  System.out.println(output); // outputs 1983-10-20 02:20:48.87, not xxx.08
  </code></pre>
  
  <p>This is of course easily fixed with using "SSS" pattern, but I'm just curious is this a bug or what's the catch with this one.</p>