title: Why does the en_GB locale think the 1st of January is the 52nd week of the year?
body: <p>It turns out that the week-of-year using <code>ww</code> as a java date format string is 52 for the 1st January 2011 when the locale is <code>en_GB</code>. Here is proof (using a scala REPL, though I could have done this using a Java program)</p>
  
  <p>First get my locales</p>
  
  <pre><code>scala&gt; val en = java.util.Locale.getAvailableLocales.find(_.toString == "en") getOrElse error("no en")
  en: java.util.Locale = en
  
  scala&gt; val en_GB = java.util.Locale.getAvailableLocales.find(_.toString == "en_GB") getOrElse error("no en_GB")
  en_GB: java.util.Locale = en_GB
  </code></pre>
  
  <p>Now make the 1st of Jan</p>
  
  <pre><code>scala&gt; import java.util.Calendar; import Calendar._
  import java.util.Calendar
  import Calendar._
  
  scala&gt; Calendar.getInstance
  res23: java.util.Calendar = java.util.GregorianCalendar[time=1300708839128,....]
  
  scala&gt; res23.set(MONTH, JANUARY); res23.set(DAY_OF_MONTH, 1)
  
  scala&gt; val firstJan = res23.getTime
  firstJan: java.util.Date = Sat Jan 01 12:00:39 GMT 2011
  </code></pre>
  
  <p>Now declare a method to print this in a locale-dependent way:</p>
  
  <pre><code>scala&gt; def weekInLocale(l : java.util.Locale) = { java.util.Locale.setDefault(l); new java.text.SimpleDateFormat("ww").format(firstJan) }
  weekInLocale: (l: java.util.Locale)java.lang.String
  </code></pre>
  
  <p>Now invoke it:</p>
  
  <pre><code>scala&gt; weekInLocale(en)
  res24: java.lang.String = 01
  
  scala&gt; weekInLocale(en_GB)
  res26: java.lang.String = 52
  </code></pre>
  
  <p>Is this right?</p>