Java日历添加问题

Tho*_*ell 3 java calendar

我遇到了Java Calendar add()功能的问题.给予或接受用于提供在旅行网站上离开的日期的迂回日期.

end.add(Calendar.DATE, Integer.parseInt(giveOrTake));
Run Code Online (Sandbox Code Playgroud)

代码在上面,我正在使用的测试条件是选择29/07/2012作为日期和3天给予或采取.根据文件,这应该是01/08/2012,但它出现在2012年7月1日.

我已经检查了giveOrTake,当它传递给方法时它很好,所以我不知道发生了什么.我可以硬编码giveOrTake值并仍然得到错误.

Jon*_*eet 5

适合我:

import java.util.*;

public class Test {
    public static void main (String []args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(2012, Calendar.JULY, 29);
        calendar.add(Calendar.DATE, 3);
        System.out.println(calendar.getTime()); // August 1st
    }
}
Run Code Online (Sandbox Code Playgroud)

我的猜测是你打电话之前错过了一个月add- 请注意我set上面的电话使用6作为月份,因为电话使用的是基于0的月份数字.

请注意,根据我对这个问题的评论,如果可以的话,你最好搬到Joda Time.