Skip to main content

iReport Default Date Parameter

If you want to set a default date for a jasperreports parameter, you can enter the following in the default value expression of the parameter.

new Date()

However, if you wanted the default to be relative from today, for example, 3 days ago, you will need to do go outside of the standard java date libraries (Date, Calendar) because JR parameter does not allow you to have multiple statements. You can write your own utility package or you can use Joda, a replacement library for the JDK date and time library.

To use Joda in iReports, you need to extract the jar file and add it to Options -> Classpath. You may also drop the jar file in iReports' lib directory. You will also need to add this library to your application or report server.

For setting a default date 5 days prior from today, use this:

new org.joda.time.DateTime().minusDays(5).toDate()

or this if you want the time part set to the beginning of the day:

new org.joda.time.LocalDate().toDateTimeAtStartOfDay().minusDays(5).toDate()

or if you want the parameter to be relative to another parameter:

new org.joda.time.LocalDate($P{DateParam}).toDateTimeAtStartOfDay().minusDays(5).toDate()

Joda has other methods to get a relative date: minusWeeks, minusMonths, minusYears, plusDays, plusWeeks, plusMonths, plusYears. I think you can also use Groovy to write an expression to get a relative date but that's for another time. It would probably be as simple as new Date() - 5. Post a comment if you came up with a better way.

Comments

Winthropian said…
Nice.
Do you know of a neat way to print a calendar in iReports? The goal it to print a calendar with various dates filed in based on data in tables.
Cheers,
Rich
Erik said…
As of now you can use Groovy for an expression as well.

new Date().plus(7) //7 days from today
Anonymous said…
NIce and informative. Do you know how it would works to display milliseconds in the difference between two dates? I would really appreciate if you please let me know about it.

Best regards.
Anonymous said…
Hi superb website! Does running a blog like this require a lot of work?
I have absolutely no knowledge of coding however I had been hoping to start my own blog soon.
Anyhow, should you have any recommendations or techniques for new blog
owners please share. I know this is off topic nevertheless I simply needed to ask.

Appreciate it!

Take a look at my web site :: weight loss
my website > weight loss
Anonymous said…
It's a pity you don't have a donate button!

I'd certainly donate to this outstanding blog! I guess for now i'll settle
for bookmarking and adding your RSS feed to my Google account.
I look forward to fresh updates and will talk about this site
with my Facebook group. Chat soon!

Feel free to visit my blog post http://gohima.com/

Popular posts from this blog

Migrating Moniwiki to MoinMoin

I had been using Moniwiki for our company for a while because the installation was quite easy as it was PHP based. However, I found out that document versioning didn't really work. It may have been a configuration issue but I took this opportunity to take a look at MoinMoin, as it was being used by Ubuntu and looked well supported. The server was running Debian stable and MoinMoin was in the repositories. Installing was simple using aptitude. Configuration was a bit more involved as it required copying and editing files. The new wiki site was pleasantly more responsive. The next task was to move the data in Moniwiki to MoinMoin. Upon inspecting the data repositories, I realized that Moniwiki stored the data in individual files with the WikiWord as the filename while MoinMoin organized that data with the WikiWord as a directory with the actual content under the revisions directory. I cooked up a quick script to migrate the data. I also ran the previous file through a 'tr' to...

Navigating the Future: 5 Supply Chain Trends to Watch in 2026

The world of supply chains is in a constant state of flux, but the next year is shaping up to be particularly transformative. As we head into 2026, the pressures of global uncertainty, new technologies, and increasing regulations are forcing companies to be more resilient, agile, and transparent than ever before. So, what are the key trends that will define the supply chain landscape in 2026? Let's take a look. 1. The AI Revolution Hits Full Swing Artificial intelligence is no longer a futuristic buzzword; it's becoming a core part of modern supply chains. In 2026, we're going to see AI move beyond pilot programs and into the mainstream, changing the way decisions are made. We're talking about AI-powered forecasting that analyzes historical data and market trends to predict demand with incredible accuracy. This means less downtime and more efficient use of resources. AI will also be used to optimize logistics, from finding the best delivery routes to monitoring disrup...