如何在Java中用1更新日期月份

时间:2015-07-30 02:26:57

标签: java xml

我的data.xml文件中有一个类似<statdate> 30/7/2015 <statedate>的默认日期。我想做的是我希望每个月增加一个月。我通过使用下面的代码成功地将我的java类链接到xml。我有下面的方法代码

链接到xml

//读取xml

public class main {

    public static void main(String[] args) {

        File data = new File("data.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(data);
        doc.getDocumentElement().normalize();

        //get the initialized date
        Date date_int = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH).parse(date);
        cal2 = Calendar.getInstance();
        cal2.setTime(date_int);
        cal2.get(Calendar.MONTH);

    }
}

方法

private static void updateMonth(Calendar cal2) {
            cal2.add(Calendar.MONTH, 1);
        }

2 个答案:

答案 0 :(得分:0)

我认为你就像下面这样简单:

public static void updateMonth(Calendar cal2) {
    cal2.set(Calendar.MONTH, cal2.get(Calendar.MONTH) + 1);
}

调用updateMonth方法后,您可以从日历中获取新月份。例如:

    ...
  cal2.get(Calendar.MONTH);
  ...

答案 1 :(得分:0)

Calendar.add可用于添加(或减去)任意时间单位:

private static void updateMonth(Calendar cal) {
    cal.add(Calendar.MONTH, 1);
}

如果需要,它还具有正确滚动其他字段的好处。例如,如果您的日期为Tue Dec 01 00:00:00 EST 2015,则使用add添加一个月会产生Fri Jan 01 00:00:00 EST 2016