正在分析IST日期格式



我使用的是Talend 5.5。

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

例如:

wed 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)

出现异常的原因是什么?

   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指针的一种方法是进行Null检查,另一种更好的方法是使用try-catch块,这样它就不会中断代码执行。

试试这个:

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

最新更新