Java如何添加或减去日期?

这个java.util.Calendar文件允许我们执行一个日期算术函数,例如向指定的日期字段添加或减去时间单位。

完成此过程的方法是Calendar.add(int field, int amount)。当字段的值可以是Calendar.DATE,Calendar.MONTH,Calendar.YEAR。因此,这意味着,如果你想在几天,分别使用Calendar.DATE,Calendar.MONTH或Calendar.YEAR减去几个月或几年。

package org.nhooo.example.util;

import java.util.Calendar;

public class CalendarAddExample {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();

        System.out.println("Today : " + cal.getTime());

        // 从日历中减去30天
        cal.add(Calendar.DATE, -30);
        System.out.println("30 days ago: " + cal.getTime());

        // 将日历增加10个月
        cal.add(Calendar.MONTH, 10);
        System.out.println("10 months later: " + cal.getTime());

        // 从日历中减去1年
        cal.add(Calendar.YEAR, -1);
        System.out.println("1 year ago: " + cal.getTime());
    }
}

在上面的代码中,我们想知道什么是30天之前的日期。该代码的示例结果如下所示:

Today : Sun Sep 17 07:24:29 WITA 2017
30 days ago: Fri Aug 18 07:24:29 WITA 2017
10 months later: Mon Jun 18 07:24:29 WITA 2018
1 year ago: Sun Jun 18 07:24:29 WITA 2017