Por qué no usas SQL para calculo de fechas?
Dentro del SQL própio de Msyql por ejemplo tienes funciones como:
DATEDIFF(expr,expr2)
DATEDIFF() returns the number of days between the start date expr and the end date expr2. expr and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation.
http://dev.mysql.com/doc/refman/5.0/...functions.html
Un saludo,