Java中使用日历类的日期操作

Java中使用日历类的日期操作,java,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()); 程序输

请参考下面的简单代码。我想从当月扣除一个月,并在输出中预计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美国东部时间

2014年12月31日星期三11:48:34东部时间

感谢您的时间和帮助。

您将月数设置为-1,即“前一年的12月”。您要添加-1个月:

today.add(Calendar.MONTH, -1);
如果可能的话,我强烈建议您使用Joda Time或Java 8的
Java.Time
软件包-两者都是比
Date
/
日历更好的API