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

Java 日期解析在android中给出错误的日期,java,android,date,Java,Android,Date,在android中,我在解析时得到了错误的日期。我提供的是2月22日(星期三)。为什么它给了我错误的工作日(星期日)?查看下面的屏幕截图以查看包含值的完整代码 SimpleDateFormat format = new SimpleDateFormat("dd MMM (EEEE)"); try { Date date = format.parse(strDate); Calendar c = Calendar.getInstance(); c.setTime(date)

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

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();
}

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

从文件中:

此解析操作使用日历生成日期。在解析之前,将清除日历的所有日期时间字段,并且日历的日期时间字段的默认值将用于任何缺少的日期时间信息。例如,如果解析操作中没有给出年份值,则解析的
日期的年份值为1970,带有
gregoriacalendar


请分享出哪里出了问题?一年?descripbeSimpleDateFormat=新的SimpleDateFormat(“dd MMM(EEEE)YYYY”);请尝试使用此选项,否则您需要在函数中传递参数strDate和years,感谢添加yyyy为我工作。。不是yyyy对不起,我的错是yyyy。很高兴帮助你:):)