¿Cómo convertir String to Date con TimeZone?

Estoy tratando de convertir miString enDate + Zona horaria. Obtengo mi cadena de unDateTime Variable (aquí: xyz). Mi código:

String abc = xyz.toString("yyyy-MM-ddZZ");
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-ddXXX");
java.util.Date date = sdf.parse(abc);
System.out.println("Date: " + sdf.format(date));

Error:

Formato no válido: "2017-01-03 + 01: 00" está mal formado en "+01: 00"

Si lo intentoSimpleDateFormat("yyyy-MM-dd"); funciona pero sin la zona horaria ("+01: 00")

Respuestas a la pregunta(3)

Su respuesta a la pregunta