TimeZoneUtil { public static TimeZone parseTimeZoneId(String timeZoneId){ TimeZone zone = TimeZone.getDefault(); String zoneName = ""; if(null != timeZoneId && !"".equals(timeZoneId)) { timeZoneId = timeZoneId.trim().replaceAll("\\s+", ""); int index2 = timeZoneId.indexOf(")"); if(index2 >= 0) { zoneName = timeZoneId.substring(index2+1, timeZoneId.length()).trim(); } zone = TimeZone.getTimeZone(zoneName); } return zone; }  static TimeZone parseTimeZoneId(String timeZoneId);  }
@Test public void parseTimeZoneIdTest(){ String timeZoneStr1 = "(GMT -11:00) US/Samoa"; String timeZoneStr2 = "US/Samoa"; assertEquals(TimeZone.getTimeZone(timeZoneStr2), TimeZoneUtil.parseTimeZoneId(timeZoneStr1)); }