title: Exception when getting the Zone Rules of a Java TimeZone?
body: <p>I've been having an issue getting the <code>ZoneRules</code> for a timezone in Java. I have a <code>TimeZone</code> and I am trying to the <code>ZoneRules</code> using this code:</p>
  
  <pre><code>TimeZone tz = getTimeZone();
  ZoneRules rules = ZoneRulesProvider.getRules(tz.toZoneId().getId(), true);
  </code></pre>
  
  <p>When the timezone is regional (like <code>"Asia/Dubai"</code> for example), it works correctly. But when it is an offset like <code>"GMT-07:00"</code>, it throws an exception:</p>
  
  <pre><code>"ZoneRulesException: Unknown time-zone ID: GMT-07:00".
  </code></pre>
  
  <p>I printed all the output of <code>ZoneRulesProvider.getAvailableZoneIds()</code> and it seems there is no zone like <code>"GMT-07:00"</code> but there is a zone <code>"Etc/GMT-7"</code>.</p>
  
  <p>Could anyone please explain why the <code>toZoneId</code> method of the <code>TimeZone</code> class returns an invalid <code>ZoneId</code>? What is the correct way to convert a <code>TimeZone</code> to a valid <code>ZoneId</code>.</p>