title: Java SimpleDateFormat shifts Date by one year
body: <p>I'm getting very weird results, which I can not understand.</p>
  
  <pre><code>public class Test {
  
    private static DateFormat df = new SimpleDateFormat("dd.MM.YYYY HH:mm");
  
    public static void main(String[] args) {
      Date d = new Date(1356912000000L);
      System.out.println(d);
      System.out.println(df.format(d));
    }  
  }
  </code></pre>
  
  <p>Gives the output:</p>
  
  <pre><code>Mon Dec 31 01:00:00 CET 2012
  31.12.2013 01:00
  </code></pre>
  
  <p>I assume that this might be some issues with locales, but that's a shift by a whole year ! May anyone explain why it performs this way ?</p>