2009-09-17 7 views
1

Я хочу принять формат даты в соответствии с ISO (не помню какой) ...Формат даты - Java

2009-09-17T13:03:00 

Как мне это сделать? В настоящее время я использую SimpleDateFormat, но когда я запускаю свой модульный тест против него, он терпит неудачу.

DateFormat df = SimpleDateFormat("yyyy-MM-ddTHH:mm:ss"); 

Test Unit проходит его эту строку:

String test1 = "2009-09-17T13:07:01"; 
+1

Можем ли мы увидеть код вашего модульного теста, а также метод, который протестирован? – romaintaz

+3

Фактически чтение сообщений об ошибках - это, по-видимому, потерянное искусство ... –

+2

Соответствующий стандарт ISO - ISO 8601 – mjv

ответ

9

Параметр SimpleDateFormat должен быть "YYYY-MM-dd'T'HH: мм: сс".

С уважением.

+0

Спасибо, человек. Я, черт возьми, знал, что это будет что-то простое! – Federer

4

Ваш формат неправильный. Это должно быть что-то вроде этого,

SimpleDateFormat isoFormat = 
    new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
1

Простое решение является удаление «T» ;-)

...  
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss"); 

Date date = df.parse("2009-09-17T13:07:01".replace("T","")) 

С уважением, Ян

5

Вам необходимо заключить T в одиночные кавычки

+0

Опять же, я знал, что это будет что-то простое .. – Federer

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