使用日历对象从当前日期减去天数

时间:2015-01-20 13:53:20

标签: java date calendar

我试图使用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时间和其他对象。如果有的话,请建议其他方法。提前致谢

0 个答案:

没有答案