Я пытаюсь разобрать String в объект Date с помощью SimpleDateFormat. Ниже мой кодUnparsable date Exception Simple Date Format
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm.sss");
Date parsedDate = formatter.parse("2016-06-28T14:10:23.374Z");
System.out.println(parsedDate.toString());
Это дает мне ниже исключением
Exception in thread "main" java.text.ParseException: Unparseable date: "2016-06-28T14:10:23.374Z"
at java.text.DateFormat.parse(DateFormat.java:368)
at com.bac.rds.dolphin.test.Main.main(Main.java:60)
Мое понимание проблемы заключается в том, что формат строки Я использую в SDF не может быть appropriate.I я не очень знакомы с SimpleDateFormat любая помощь для получения этой работы оценена.
EDIT
обновил свой формат строки, как показано ниже
yyyy-MM-dd'T'HH:mm:ss.SSS
Эта строка формата может разобрать строку в дату объекта. Но когда я пытаюсь включить Z в конец строки формата inorder, чтобы указать часовой пояс, поскольку Z есть также в строке даты, которую я имею. Это дает исключение синтаксического анализа.
Ниже формат метания разбора исключение
yyyy-MM-dd'T'HH:mm:ss.SSSZ
Почему такое поведение?
Посмотрите на ваш шаблон - это не заканчивается с Z, но имеет значение. Аналогично, ваш шаблон использует 'hh', который является спецификатором формата 1-12 часов, но для этого значение имеет значение 14. Вы читали документацию SimpleDateFormat для проверки каждой части вашего шаблона? –
взгляните на этот документ, чтобы понять методы разбора: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – Riad
Также вы пытаетесь разобрать миллисекунды как секунд и не имеют шаблонов для разбора секунд. – DanielBarbarian