title: Java Calendar WEEK_OF_YEAR not ISO-8601compliant?
body: <p>The ISO-8601 standard states that </p>
  
  <blockquote>
    <p>"The first week of a year is the week that contains the first Thursday
    of the year (and, hence, always contains 4 January)."</p>
  </blockquote>
  
  <p>Meaning the first week of the year is not that which contains January the 1st but the first one that contains at leat four days into the new year.</p>
  
  <p>Acording to that Mon, January 11 2016 is on week #2. <a href="http://www.epochconverter.com/date-and-time/weeknumbers-by-year.php?year=2016" rel="noreferrer">Here is a list of week numbers for 2016.</a></p>
  
  <p>Ubuntu reflects that in its time widget:</p>
  
  <p><a href="https://i.stack.imgur.com/Pmjmu.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Pmjmu.png" alt="enter image description here"></a></p>
  
  <p>And the cal command does also:</p>
  
  <p><a href="https://i.stack.imgur.com/r9O6R.png" rel="noreferrer"><img src="https://i.stack.imgur.com/r9O6R.png" alt="enter image description here"></a></p>
  
  <p>Oracle supports it with the "iw" parameter of <code>TO_CHAR</code>:</p>
  
  <pre><code>&gt; select to_char(to_date('11/01/2016','dd/mm/yyyy'),'iw') weekno from dual;
  &gt; WEEKNO
      02
  </code></pre>
  
  <p>But Java says Mon, January 11 2016 is week #3</p>
  
  <pre><code>Calendar c = Calendar.getInstance();
  System.out.println(c.getTime());
  System.out.println(c.get(Calendar.WEEK_OF_YEAR));
  
  Output:
  Mon Jan 11 09:02:35 VET 2016
  3
  </code></pre>
  
  <p>Java thinks the first week of the year is the one that contains January the 1st.</p>
  
  <p><strong>- Is there a way for Java to use the ISO-8601-copliant week numbering?</strong></p>