java.util.Calendar在Calendar.add(日期、编号)上返回错误的值
嗨,我正在尝试获取当前日期减去4的日期 今天当前日期为2014年11月4日星期二16:35:34 我现在做的是java.util.Calendar在Calendar.add(日期、编号)上返回错误的值,java,date,calendar,Java,Date,Calendar,嗨,我正在尝试获取当前日期减去4的日期 今天当前日期为2014年11月4日星期二16:35:34 我现在做的是 Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DATE, days); System.out.println("new date "+" "+cal.get(cal.YEAR)+" "+cal.get(cal.MONT
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
System.out.println("new date "+" "+cal.get(cal.YEAR)+" "+cal.get(cal.MONTH)+" "+cal.get(cal.DAY_OF_MONTH));
这是我得到的输出
新日期2014年9月31日(但预计为2014年10月31日)
我不知道出了什么问题。有人能帮我吗?月历API从0开始。所以一月是0,二月是1,等等
不要这样格式化日期-使用
SimpleDateFormat
。java.util.Calendar中的月份是基于0的…请阅读文档。