code: void formatTimeZone_X(StringBuilder b, ZonedDateTime d, int width, char ch) {
      int[] tz = getTzComponents(d);
      
      // Emit a 'Z' by itself for X if time is exactly GMT
      if (ch == 'X' && tz[TZOFFSET] == 0) {
        b.append('Z');
        return;
      }
  
      switch (width) {
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
          if (tz[TZNEG] == -1) {
            b.append('-');
          } else {
            b.append('+');
          }
  
          zeroPad2(b, tz[TZHOURS], 2);
          
          // Delimiter is omitted for X, XX and XXXX
          if (width == 3 || width == 5) {
            b.append(':');
          }
          int mins = tz[TZMINS];
  
          // Minutes are optional for X
          if (width != 1 || mins > 0) {
            zeroPad2(b, mins, 2);
          }
          break;
      }
    }
docs: Format timezone in ISO8601 basic or extended format for field 'x' or 'X'.
  http://www.unicode.org/reports/tr35/tr35-dates.html#dfst-zone