Java SimpleDateFormat doesn't support colon in the timezone information. You should use other implementation such as JodaTime.
Example usage:
String dateString = "2011-06-07T14:08:59.697-07:00";
String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
DateTimeFormatter dtf = DateTimeFormat.forPattern(pattern);
DateTime dateTime = dtf.parseDateTime(dateString);
System.out.println(dateTime);
maven pom.xml dependency if needed:
joda-time
joda-time
1.6.2
Hope it helps.