我想让一个月中的某一天从该字段中实际减去天数。
注意:日期是自定义选择的,如 2012-09-10
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse("2012-10-24);
Calendar calendar= Calendar.getInstance();
Calendar csd= Calendar.getInstance();
calendar.setTime(d2);
csd.add(calendar.DAY_OF_MONTH, -5);
csd.add(calendar.get(Calendar.DAY_OF_MONTH), -5)
上面的内容实际上会出错IllegalArgumentException
,但是当我 sysout 时会打印正确的值
calendar.DAY_OF_MONTH
不会打印 d2 中的正确日期。如果我做错了什么或者这不是正确的方法,我会感到困惑?
更新
这正是我在代码中所拥有的。我想要任何日期范围的数组。假设用户已将结束日期设置"2012-8-20"
为 in d2
。我想要一个数组中过去 30 天的日期,该代码不起作用。
for(int count = 30; count >=1; count--) {
Calendar csd = Calendar.getInstance();
csd.add(calendar.DAY_OF_MONTH, -count);
String dt = (csd.get(Calendar.YEAR)) + "-" + (csd.get(Calendar.MONTH)+1) + "-" + (csd.get(Calendar.DATE));
aDays[30 - count] = dt;
}