Dalla versione 7 di Java è previsto placeholder "X" per avere il TimeZone nel formato ISO 8601 (quello usato dal W3C).

codice:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");

// Esempio di stringa prodotta: 2001-07-04T12:08:56.235-07:00
Ciao.