3

我在使用 Java 日历 add() 功能时遇到问题。给予或接受用于为在旅游网站上出发的日期提供一个迂回日期。

end.add(Calendar.DATE, Integer.parseInt(giveOrTake));

代码在上面,我使用的测试条件是选择 29/07/2012 作为日期和 3 天给或取。根据文档,这应该是 2012 年 1 月 8 日发布的,但它是 2012 年 1 月 7 日发布的。

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

4

3 回答 3

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
    }
}

我的猜测是您在打电话之前add弄错了月份- 请注意我set上面的电话如何使用6作为月份,因为该电话使用基于 0 的月份编号。

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

于 2012-06-20T16:35:43.357 回答
0
于 2017-02-17T03:20:40.300 回答
-1

这是日期格式的问题。它被设置为yyyymmdd应该是“yyyyMMdd”的时间。

于 2012-06-26T15:09:51.913 回答