Your format
string is wrong. Note that "hh" means 12-hour clock. You most likely want "HH", 24-hour clock. Also,
you should use "X" instead of "Z" for ISO-8601 timezones. (Note that "X" will only work if you are using
Java 7 or newer). So your format string should look like this:
"yyyy-MM-dd'T'HH:mm:ss.SSSX"
An alternative way to parse ISO-8601 format dates and times (which is the standard format that is used in XML for dates and times) is this: