Я пытаюсь разобрать временную метку с строкой времени в Java. Мои строки:Получение исключительного исключения даты при преобразовании строки timestamp
"2013-01-01 15:30:00.2 +05:00"
"2003-01-01 02:59:04.123 -8:00"
Это мой код, чтобы разобрать его:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS z");
simpleDateFormat.parse("2013-01-01 15:30:00.2 +05:00");
Однако я получаю сообщение об ошибке, когда я запускаю код:
java.text.ParseException: Unparseable date: "2013-01-01 15:30:00.2 +05:00"
Я также попробовал использовать следующий код для его анализа:
DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTimeNoMillis();
DateTime dateTime = dateTimeFormatter.parseDateTime("2003-01-01 02:59:04.123 -8:00");
Timestamp timeStamp = new Timestamp(dateTime.getMillis());
Это дает мне исключение:
Invalid format: "2003-01-01 02:59:04.123 -8:00" is malformed at " 02:59:04.123 -8:00"
Я также попытался вставить «T» в строке после даты, но он также дал неверный формат исключения:
Invalid format: "2003-01-01T02:59:04.123 -8:00" is malformed at " .123 -8:00"
Это должно быть очень просто - я не Не знаю, где я ошибаюсь.
Спасибо за помощь!
это может помочь. http://stackoverflow.com/questions/4542679/java-time-zone-when-parsing-dateformat –
Обратите внимание на «no millis» часть 'ISODateTimeFormat.dateTimeNoMillis' - а затем посмотрите на значение, которое вы пытаетесь проанализировать , –
Я предполагаю, что код 'DateTimeFormatter' - это время Joda, а не Java 8? Было бы полезно, если бы вы указали это в своем посте. –