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 \today
Two things to notice there:
To advance by 30 days, for instance, the syntax is \AdvanceDate[30].
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 \AdvanceDate[30] twice.
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:
\documentclass{article}
\usepackage{advdate}
\begin{document}
Today is: \today
Tomorrow is: \DayAfter
30 days from today is \AdvanceDate[30]\today.
60 days from today is \AdvanceDate[30]\today.
180 days from today is \AdvanceDate[120]\today.
\AdvanceDate[-180]
\bigskip
\begin{tabular}{|cc|}\hline
Relative description & Date \\\hline
today & \today \\
tomorrow & \DayAfter \\
30 days from today & \AdvanceDate[30]\today\\
60 days from today & \AdvanceDate[60]\today\\
180 days from today & \AdvanceDate[180]\today\\\hline
\end{tabular}
\end{document}
