使用Java中的Calendar类进行日期操作

时间:2015-03-31 15:53:55

标签: java

请参阅下面的简单代码。我想从当月扣除一个月,并预计2015年2月的产值。

    Calendar today = Calendar.getInstance();
    System.out.println(today.getTime().toString());

    today.set(Calendar.MONTH, -1);
    Date date = today.getTime();
    System.out.println(date.toString());

程序输出如下。我没有按预期看到2月份,而是将2014年12月显示为月份。

2015年3月31日星期二11:48:34 EDT 2015

Wed Dec 31 11:48:34 2014

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:2)

月份编号设置为-1,即"前一年的12月"。你想添加 -1个月:

today.add(Calendar.MONTH, -1);

我强烈建议您尽可能使用Joda Time或Java 8的java.time软件包 - 两者都 更好的API而不是Date / Calendar