2012-12-10 121 views
0

我必须在日历类型中添加延迟否,并且只需要日历类型中的新日期。Java中的日历

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

你会得到这个错误,因为Calendar#add()方法不会返回任何东西(参见void),并在提供的Calendar实例本身中添加输入日期/月/年等。

编辑:如果你真的需要一个新的实例,然后用这样的代码:

Calendar limitDate = Calendar.getInstance(); 
limitDate.setTime(orderDate.getTime()); 
limitDate.add(Calendar.DATE, settlementDelay); 
+0

Yes..I知道,但我想有订购日期+ settlementDelay应该回到我新的日历 – Beginner

+0

见我的编辑一节得到一个新的日历实例与日增加。 – anubhava

0

你应该考虑使用joda-time库,而不是。

这对日期操作来说好得多。 它确实有你想要的plusDays方法。

DateTime orderDate = ...; 
DateTime limitDate = orderDate.plusDays(settlementDelay);