Для соответствия "01-02-2016T10:00:00+01:00"
ваша строка формата должна быть "dd-MM-yyyy'T'HH:mm:ssXXX"
. У вас есть zzz
, где у вас должно быть XXX
. См. javadoc.
Кроме того, это довольно странный формат для использования. Обычно, когда вы видите разделитель T
между датой и временем, он указывает формат ISO8601 (или формат на основе ISO8601, такой как RFC3339). Однако в этом формате дата указана в порядке «год-месяц-день». У вас есть день-месяц-год. Это противоречие наверняка вызовет путаницу в какой-то момент. Я настоятельно рекомендую изменить источник этих данных, чтобы либо использовать правильный порядок, либо заменить поле T
пробелом, а также разместить пространство до смещения tz.
Другими словами, ваши данные должны выглядеть следующим образом:
"01-02-2016 10:00:00 +01:00" // Human-readable, but locale-specfic
или
"2016-02-01T10:00:00+01:00" // ISO8601/RFC3339 compliant
НЕ
"01-02-2016T10:00:00+01:00" // Nonsense