我试图使用java.util.Calendar对象从当前日期中减去天数。我的问题是减去的日子可以是正面的,也可以是负面的。我的代码如下
public class Test {
public static void main(String[] args) {
int pastValidationDays=2;
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, - pastValidationDays);
}
}
根据上述代码,如果日期是2015年1月20日,它将给我18/1/2015
现在说如果pastValidationDays = -2(负值)那么它也应该从当前日期中减去。按照上面的代码,如果我说
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, - pastValidationDays);
然后它加起来而不是减去。如果它是2015年1月20日的当前日期,那就说我22/1/2015。但在这种情况下,我需要的日期为18/1/2015。
我正在做的一种方式如下
if (pastValidationDays < 0){
calendar.add(Calendar.DAY_OF_MONTH, pastValidationDays);
}else{
calendar.add(Calendar.DAY_OF_MONTH, -pastValidationDays);
}
这是一种好方法还是可以这样做
calendar.add(Calendar.DAY_OF_MONTH, - Math.abs(pastValidationDays));
我想仅使用日历对象减去天数。我不想使用JODA时间和其他对象。如果有的话,请建议其他方法。提前致谢