0

我必须在日历类型中添加延迟次数,并且只希望日历类型中的新日期。

limitDate = orderDate + settlementDelay.

在哪里

limitDate = java.util.Calendar

orderDate = java.util.Calendar

settlementDelay = int 

我试过这样的事情:

Calendar limitDate = order.getOrderDate().add(Calendar.DATE,settlementDelay);

但它给了我

Type mismatch error: Cannot convert from void to Calendar.

有人可以帮帮我吗?

4

2 回答 2

5

您收到此错误是因为Calendar#add()方法不返回任何内容(请参阅 void)并在提供的 Calendar 实例本身中添加输入日期/月/年等。

编辑:如果您真的需要一个新实例,请使用如下代码:

Calendar limitDate = Calendar.getInstance();
limitDate.setTime( orderDate.getTime() );
limitDate.add(Calendar.DATE, settlementDelay);
于 2012-12-10T10:47:44.417 回答
0

您应该考虑改用joda-time库。

日期操作要好得多。它确实具有您似乎想要的 plusDays 方法。

DateTime orderDate = ...;
DateTime limitDate = orderDate.plusDays(settlementDelay);
于 2012-12-10T10:53:44.800 回答