日历类算术异常

时间:2012-12-03 07:22:37

标签: java class calendar

cal.set(Calendar.MONTH,-6);在2012年12月3日举行了一年半的约会。

它的日期是2011年7月2日。

请有人能告诉我发生了什么吗?

2 个答案:

答案 0 :(得分:0)

根据它的外观,您将月份设置为相对于2012年的-6。并且假设0表示1月,-6表示前一年的7月....

'set'操作设置指定的字段。它不会增加或减少该字段。


强制性推荐......使用Joda Time。

答案 1 :(得分:0)

cal.set()设置相对于当前年份的月份。截至2012年,-6为6个月,即2011年7月。 要获得正确的行为,请使用cal.add(Calendar.MONTH,-6)或cal.set(Calendar.MONTH,6)