Simple dateTimeFormat transformation not so simple

I am unable to get this service to correctly give me a “+” or “-” for the time zone after trying several combinations.

Here is what I am doing:
inString: 20031230T11:22:33+11:00
currentPattern: yyyyMMdd’T’HH:mm:ss hh:mm
newPattern: yyyyMMdd HH:mm:ss ‘GMT’[+/-]hh:mm (where [+/-] should be what is passed in on the inString)

The new format
should be: 20031230 11:22:33 GMT+11:00
I am getting: 20031230 11:22:33 GMT 11:00

How do I get the +/- to show up in the time format like it is being passed in? There are a few time zones that are - of GMT, so I want to differentiate.