2014-10-01 66 views
-1

我收到此錯誤,突然 這是工作前的罰款,..無法解析的日期:「空」(偏移量爲0)安卓

我的日期格式「2014年9月11日下午3點31分」

public boolean validateLuckyDrawExpirationDate(String strExpirationDate) throws Exception{     


      SimpleDateFormat df=new SimpleDateFormat("MMM dd yyyy hh:mmaa"); 
      Date expirationDateObj=df.parse(strExpirationDate); 
      Date today=new Date(); 

      boolean isAfter=today.after(expirationDateObj); 

      boolean isBefore=today.before(expirationDateObj); 

      Log.v("isToday", String.valueOf(isAfter)); 
      Log.v("isBefore", String.valueOf(isBefore)); 

      Log.v("Original date", String.valueOf(expirationDateObj)); 
      Log.v("SimpleDateFormat", String.valueOf(df.format(expirationDateObj))); 
      Log.e("startDate...2",strExpirationDate); 

      return isBefore; 

    } 
+0

你** ** strExpirationDate'String'是** **空。 – Hariharan 2014-10-01 06:26:45

回答

1

正如您的問題標題所示,您正在將null解析爲此方法。這個unparseable date:「null」你會因此而得到。

沒有與此方法Sep 11 2014 3:31PM

1

你確定你在呼喚你的方法validateLuckyDrawExpirationDate()與參數值Sep 11 2014 3:31PM沒有問題?

嘗試把你的代碼中try-catch塊:

public boolean validateLuckyDrawExpirationDate(String strExpirationDate) throws Exception{     
    Boolean isBefore = false; 
    try{ 

     SimpleDateFormat df=new SimpleDateFormat("MMM dd yyyy hh:mmaa"); 
     Date expirationDateObj=df.parse(strExpirationDate); 
     Date today=new Date(); 

     boolean isAfter=today.after(expirationDateObj); 

     isBefore=today.before(expirationDateObj); 

     Log.v("isToday", String.valueOf(isAfter)); 
     Log.v("isBefore", String.valueOf(isBefore)); 

     Log.v("Original date", String.valueOf(expirationDateObj)); 
     Log.v("SimpleDateFormat", String.valueOf(df.format(expirationDateObj))); 
     Log.e("startDate...2",strExpirationDate); 
    } 
    catch (ParseException e) { 
     Toast.makeText(getApplicationContext(), "Date is not valid!", 
         Toast.LENGTH_LONG).show(); 
    } 
     return isBefore; 

} 
相關問題