2017-02-21 97 views
-2

在android中,解析時出現錯誤的日期。我正在提供22 Feb (Wednesday)。爲什麼它給我錯誤的一週(星期日)?查看下面的截圖,查看帶有值的完整代碼。日期解析在android中給出錯誤日期

SimpleDateFormat format = new SimpleDateFormat("dd MMM (EEEE)"); 
try { 
    Date date = format.parse(strDate); 
    Calendar c = Calendar.getInstance(); 
    c.setTime(date); 
    c.add(Calendar.DATE, 2); 
    String output = format.format(c.getTime()); 
    tvDeliveryDate.setText(output); 
    tvDeliveryTime.setText(time); 
    deliveryDateTime = output + "," + time; 
    db.putString("deliver_date",output); 
    db.putString("deliver_time",time); 
    db.putString("deliver_date_time",output + ", " + time); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

Screenshot Image

+0

請分享最新錯誤?年?描述爲 –

+0

SimpleDateFormat format = new SimpleDateFormat(「dd MMM(EEEE)YYYY」);嘗試使用這個 –

+0

或者你需要傳遞參數strDate在功能與年 –

回答

5

您的日期格式沒有一年組件,因此1970年假設。 1970年2月22日是星期天。

SimpleDateFormat.parse()文檔:

此分析操作使用日曆產生Date。在解析之前,所有日曆的日期時間字段都會被清除,日曆時間字段的默認值將用於任何缺少的日期時間信息。例如,如果解析操作中未給出年份值,則解析的Date的年份值是1970年,並且是GregorianCalendar