code: private void setTzFormatString(final  TimeZone tz )
      {
          int zIndex = _formatString.indexOf( "ZZZ" );
          if( zIndex >= 0 )
          {
              String ss1 = _formatString.substring( 0, zIndex );
              String ss2 = _formatString.substring( zIndex+3 );
              int tzOffset = tz.getRawOffset();
              
              StringBuffer sb = new StringBuffer(_formatString.length()+10);
              sb.append(ss1);
              sb.append("'");
              if( tzOffset >= 0 )
                  sb.append( '+' );
              else
              {
                  tzOffset = -tzOffset;
                  sb.append( '-' );
              }
              
              int raw = tzOffset / (1000*60);		// Convert to seconds
              int hr = raw / 60;
              int min = raw % 60;
              
              if( hr < 10 )
                  sb.append( '0' );
              sb.append( hr );
              if( min < 10 )
                  sb.append( '0' );
              sb.append( min );
              sb.append( '\'' );
              
              sb.append(ss2);
              _tzFormatString=sb.toString();            
          }
          else
              _tzFormatString=_formatString;
          setMinFormatString();
      }
docs: /* ------------------------------------------------------------