日期解析在android中给出了错误的日期

-2 java android date

在android中,我在解析时得到了错误的日期.我提供22 Feb (Wednesday).为什么它给我错误的工作日(星期日)?请查看下面的屏幕截图,查看包含值的完整代码.

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();
}
Run Code Online (Sandbox Code Playgroud)

截图图片

Rob*_*sen 5

您的日期格式没有年份组件,因此假定为1970.1970年,2月22日是星期天.

SimpleDateFormat.parse()文档:

此解析操作使用日历生成a Date.解析前会清除所有日历的日期时间字段,并且日历时间字段的日历默认值将用于任何缺少的日期时间信息.例如,如果解析操作没有给出年份值,则解析的年份值Date是1970 GregorianCalendar.