从网络服务中,我得到了一个日期格式,就像1994-09-11
在我的 android 应用程序中一样,我需要将其显示为Sep 11
我的代码如下
Date date_temp = null;
String d_temp = null;
DateFormat formatter;
static SimpleDateFormat datesdf = new SimpleDateFormat("yyyy MMM dd");
public String changeDateformat(String date_str)
{
Log.e("date_str ",""+date_str);
try
{
date_temp = (Date)formatter.parse(date_str);
Log.e("date_temp ",""+date_temp);
d_temp = null;
d_temp = datesdf.format(date_temp);
Log.e("d_temp ",""+d_temp);
}
catch (ParseException ex)
{
ex.printStackTrace();
}
catch (java.text.ParseException e)
{
e.printStackTrace();
}
return d_temp;
}
当上述方法被调用时,第一个日志值被打印出来(我从网上得到的值),然后我的应用程序崩溃了,说
09-10 13:02:44.920: E/AndroidRuntime(3503): java.lang.NullPointerException
09-10 13:02:44.920: E/AndroidRuntime(3503): at xxxxxxxxxxx(Events.java:206)
这里第 206 行是上述方法的 try catch 中的第一行。我的代码有什么问题,请建议我.....