See the advdate package.
Edit Six years later, I am finally getting around to adding an example. It does what the package says it does.
\AdvanceDate Advances date the specified number of days [an argument in square brackets, defaulting to 1] and sets the result to
Two things to notice there:
To advance by 30 days, for instance, the syntax is
The package effectively uses
\today as a variable. Which means if you are recording several dates relative to today, you need to advance incrementally. If you want 30 days, then 60 days, you need to call
Of course, TeX's scoping rules are still in effect. So if you advance
\today in a group, the changes end when the group ends. So if you make a table your increments are forgotten at the end of each cell.
Here is an example document, showing both of these:
Today is: \today
Tomorrow is: \DayAfter
30 days from today is \AdvanceDate\today.
60 days from today is \AdvanceDate\today.
180 days from today is \AdvanceDate\today.
Relative description & Date \\\hline
today & \today \\
tomorrow & \DayAfter \\
30 days from today & \AdvanceDate\today\\
60 days from today & \AdvanceDate\today\\
180 days from today & \AdvanceDate\today\\\hline