Salida RFC 3339 Timestamp en Java

Quiero generar una marca de tiempo con un desplazamiento PST (por ejemplo, 2008-11-13T13: 23: 30-08: 00).java.util.SimpleDateFormat no parece generar compensaciones de zona horaria en elhora: minuto formato, excluye los dos puntos. ¿Hay una manera simple de obtener esa marca de tiempo en Java?

// I want 2008-11-13T12:23:30-08:00
String timestamp = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").format(new Date());
System.out.println(timestamp); 
// prints "2008-11-13T12:23:30-0800" See the difference?

También,SimpleDateFormat no puede analizar correctamente el ejemplo anterior. Arroja unParseException.

// Throws a ParseException
new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").parse("2008-11-13T13:23:30-08:00")

Respuestas a la pregunta(8)

Su respuesta a la pregunta