2010-10-14 7 views
3

В проекте с Talend Open Studio (инструмент ETL с открытым исходным кодом, генерирующий исходный код), я получаю ошибки при разборе входящих строк даты, таких как «3/14/1967 0:00:00 "(обратите внимание на одноразрядный месяц).Дата синтаксиса с возможным одноразрядным месяцем/днем ​​/ часом с использованием java.text.SimpleDateFormat

Копаем в thecode, я вижу, что это java.text.SimpleDateFormat. Таким образом, строка шаблона даты, которую я ожидаю, мне нужно использовать: «d-M-yyyy H: mm: ss» ... но он продолжает давать мне ошибки типа «Непревзойденная дата: 3/14/1967 0:00:00».

Я предполагаю, что SimpleDateFormat может решить проблему с одной или двумя цифрами. Нужен ли мне другой шаблон даты? (Конечно, я мог бы сделать предварительную обработку, чтобы подправить значения, прежде чем Java пытается прочитать строки как даты, но это не должно быть обязательно!)

ответ

6

Вы уверены, что на самом деле нужно использовать d-M-yyyy, а не M/d/yyyy? Я могу понять, почему у него возникла бы проблема с «3/14/1967» ... какую дату вы ожидали? Обратите внимание, что вы не только получили «d» и «M», но и указали «-» вместо «/» в качестве разделителя.

+2

Гоша, это смущает! Я должен просто сдаться, прежде чем сделать что-то еще более бездумное. Вы совершенно правы: я менял местами месячные и дневные значения, а вместо косых черт. Sheesh. – ewall