请引用下面的简单代码。我想从当月和 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());
程序输出如下。我没有看到预期的二月,而是显示 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。
/日历
。
关于java - 使用 Java 中的 Calendar 类进行日期操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29372979/