2016-11-03 4 views
0

Здесь входной сигнал выборки от пользователя:Java 8 Анализировать день недели и время

Wed 15:00 

Я хочу, чтобы разобрать это в объект таким образом я использую LocalDateTime объект. Вот мой код:

String elem = "wed 15:00"; 
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern(
      "E H:mm" 
      + "E HH:mm"); 
return LocalDateTime.from(DATE_TIME_FORMATTER.parse(elem)); 

Но я получаю сообщение об ошибке:

java.time.format.DateTimeParseException: Text 'wed 15:00' could not be parsed at index 0 

Что именно является здесь ошибка?

ответ

3

Это не правильный образец:

"E H:mm" + "E HH:mm" 

Попробуйте вместо этого:

String elem = "Wed 15:00"; 
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E H:mm"); 
return LocalDateTime.from(LocalDate.parse(elem, formatter)); 

заметить также, что вы должны указать не только день недели и время для разбора a LocalDateTime объект, это не имеет значения: мы не знаем что Среда, о которой мы говорим!

+0

то как мне обрабатывать разбор как 'wed 1: 00', так и' wed 11: 00'? – Richard

+1

Код, который вы опубликовали, недействителен для начала. Какой _type_ именно вы хотите вернуться? –

+0

Я хочу вернуть объект LocalDateTime, но я не уверен, что это подходящий объект для использования. И я попробовал вышеуказанный шаблон и по-прежнему получил ту же ошибку. – Richard

Смежные вопросы