2014-10-14 4 views
-1

Я использую Talend 5.5.синтаксический анализ формата даты IST

В моем проекте есть часть, в которой мне нужно преобразовать даты в формате IST в этот формат: «yyyy-MM-dd».

Например:

ср 0ct 08 00:00:00 IST 2014

К

2014-10-08

Я поместил это код в компоненте tMap:

new SimpleDateFormat("yyyy-MM-dd") 
.parse(new SimpleDateFormat("yyyy-MM-dd") 
.format(new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy").parse(row4.Date))) 

row4.date - это дата, которую я хочу преобразовать, и равна, например, «wed 0ct 08 00:00:00 IST 2014».

, и я получаю это исключение:

java.lang.NullPointerException 
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1380) 
at java.text.DateFormat.parse(DateFormat.java:355) 

Что является причиной для исключения?

+0

Вы уверены, что 'row4.Date' - это значение, которое вы ожидали? Похоже, что значение te равно «null». – Jens

ответ

0
if(null!=row4 && null!=row4.Date)//use null check  
    new SimpleDateFormat("yyyy-MM-dd") 
    .parse(new SimpleDateFormat("yyyy-MM-dd") 
    .format(new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy").parse(row4.Date))) 

Один из способов справиться с нулевым указателем делать нулевые чеки, а другие и лучшим способ заключается в использовании попытки поймать блоки так, чтобы он не прерывать выполнение кода.

+0

Это даст вам ошибку компилятора. Вы должны сделать нулевую проверку при запуске вашей утилизации. – Jens

+0

или строка4 сама по себе равна нулю? – SMA

0

Попробуйте это:

Date date = new Date(); 
System.out.println(date); 
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
System.out.println(formatter.format(date)); 
+0

Это не поможет ОП. Старайтесь отформатировать фактическую дату, а не 'row4.Date' – Jens

+0

" row4.date равно "wed 0ct 08 00:00:00 IST 2014", например. " который не что иное, как объект Date с представлением toString от пользователя, так почему вы думаете, что он не работает? Пример Btw выше был просто использованием того, как получить дату от формата «wed 0ct 08 00:00:00 IST 2014» до «2014-10-08». Надеюсь это поможет. – SMA

+0

Но ОП знает, как он должен форматировать дату. У него ошибка при анализе даты. – Jens

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