解析IST日期格式

时间:2014-10-14 07:03:33

标签: java date talend

我正在使用Talend 5.5。

在我的项目中,有一部分我需要将IST格式的日期转换为这种格式:" yyyy-MM-dd"

例如:

  

wed 0ct 08 00:00:00 IST 2014

  

2014年10月8日

我将此代码放在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)

例外的原因是什么?

2 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分: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)))

处理Null指针的一种方法是进行空检查,另一种更好的方法是使用try catch块,这样它就不会中断代码执行。