请参阅下面的简单代码。我想从当月扣除一个月,并预计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
感谢您的时间和帮助。
答案 0 :(得分:2)
您将月份编号设置为-1,即"前一年的12月"。你想添加 -1个月:
today.add(Calendar.MONTH, -1);
我强烈建议您尽可能使用Joda Time或Java 8的java.time
软件包 - 两者都 更好的API而不是Date
/ Calendar
。