title: Java getTimeZone() behaving differently for different kind of inputs
body: <p>For the below code I get different outputs </p>
  
  <pre><code>TimeZone t = TimeZone.getTimeZone("GMT-8");  // Also tried UTC-8 and GMT-8:00
  //TimeZone t = TimeZone.getTimeZone("America/Los_Angeles"); 
  SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
  Date d = null;
  
  Calendar c = Calendar.getInstance(t);
  c.set(Calendar.MONTH, Calendar.AUGUST);
  c.set(Calendar.DAY_OF_MONTH, 22);
  c.set(Calendar.YEAR, 2013);
  d = c.getTime();
  
  String s = sdf.format(d);
  System.out.println(s + "        " + t.inDaylightTime(d));
  </code></pre>
  
  <p>Output is: </p>
  
  <pre><code>08/22/2013      false
  </code></pre>
  
  <p>Now <em>America/Los_Angeles</em> is GMT-8 / UTC-8 or PST. But when I change parameter from GMT-8 to <em>America/Los_Angeles</em>,</p>
  
  <p>Output is: </p>
  
  <pre><code>08/22/2013      true
  </code></pre>
  
  <p>Can't use PST like abbreviations since its deprecated. Also CST can mean both <em>Central Standard time</em> and <em>China Standard Time</em>.</p>
  
  <p>The input I have is like -8, -9 -14 etc. to which I wish to prepend GMT/UTC to know if I can get the DST activation on a given date.</p>
  
  <p>Please guide me in this regard.</p>