java Calender/formatter provides wrong date
<p>Somehow I am being reported a issue, in which following code provides date in future.</p>

<p>The timezone used is GMT+01:00.
The <em>numberOfDays</em> is non negative integer.</p>

<p>The intention of this code is reduce the number of days from current date.</p>

<pre><code>SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yy",Locale.ENGLISH);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, -numberOfDays);
Date date = calendar.getTime();
String dateStr= formatter.format(date);
System.out.println("Date : "+dateStr);
</code></pre>

<p>I am not able to reproduce this on my machine. </p>

<p>Does the Locale affect the TimeZone?</p>

<p>I tried to correlate to <a href="http://stackoverflow.com/questions/1258441/why-does-a-new-simpledateformat-object-contain-calendar-with-the-wrong-year">Why does a new SimpleDateFormat object contain calendar with the wrong year?</a>, and <a href="http://stackoverflow.com/questions/2092340/strange-problem-with-timezone-calendar-and-simpledateformat">Strange problem with timezone, calendar and SimpleDateFormat</a> but in vain. </p>

<p>Please help me understand and rectify this issue.</p>
