How do I display a message within... say... 5 days of the recorded date.

I have a table with:
  • a_date - ACTUAL EVENT's DATE

  • s_date - EVENT's START DATE

  • e_date - EVENT's END DATE

...as well as title and message to display.

How do I take a_date and display for 10 days (5 days before, 5 days after)?
I already have a code going but I run into the problem of getting to the end of a month. It keeps going... May 32?
Is there a way to add days and keep it rotating (if it reaches the end of a month, cycle to the next month)?