为什么SimpleDateFormat解析日期和错误的月份和日期?

时间:2018-11-07 00:36:37

标签: java android string date simpledateformat

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM DD HH:mm:ss z yyyy");
try {
      String d1 = list.get(position).getTaskTime(); //here d is "Tue Nov 06 15:37:51 EST 2016"
      date = sdf.parse(d);
      String d2=date.toString();
      Log.d("demo", d2); //here d2 is "Sat Jan 06 15:37:51 EST 2016"
  } catch (ParseException e) {
      e.printStackTrace();
     }

PS:我使用Calendar类添加了10个月,并设置了正确的日期,这有点像破解,但是可以使用。但是,我想知道我的代码出了什么问题。

1 个答案:

答案 0 :(得分:3)

DD是错误的。 D是一年中的一天。每年的第六天是1月6日。

您应该使用dd

文档:SimpleDateFormat