取“new java.util.Date()”并在1个月之前完成
我正在使用jaspersoft的iReport,我想将new java.util.Date()
(这是当前日期)转换为该日期之前的1个月。 我在文本字段表达式中写什么来实现这一点?
您可以使用Joda-Time Java API。 在DateTime
对象上调用minusMonths
方法。
jrxml文件示例:
结果将是:
注意:不要忘记将Joda-Time库添加到类路径中(在我的例子中,我将库添加到iReport的类路径中)。
Java Date API非常笨拙,有一个有用的第三方替代方案。 尝试导入http://joda-time.sourceforge.net/库。
看到这篇文章: 为JodaTime Instant添加一些天
您可以通过以下方式使用Calendar类:
Calendar c=Calendar.getInstance(); c.setTime(myDate); //Yes, it is strange!!! But we don't really need this, for the getInstance() results in a current date. c.add(Calendar.MONTH, -1);
我在评论后意识到我无法将其更改为单个表达式,因为add返回void而不是新的Date()。 对于那个很抱歉…