Basta con añadir 30 días a la fecha de hoy:
var now = new Date();
now.setDate(now.getDate() + 30);
Sin embargo, es eso lo que realmente quiere hacer? ¿O quieres obtener hoy más un mes?
Puede convertir ad/m/día y a un objeto de fecha usando:
var dString = '9/5/2011';
var dParts = dString.split('/');
var in30Days = new Date(dParts[2] + '/' +
dParts[1] + '/' +
(+dParts[0] + 30)
);
Para los Estados Unidos formato de fecha, partes de swap 0 y 1:
var in30Days = new Date(dParts[2] + '/' +
dParts[0] + '/' +
(+dParts[1] + 30)
);
pero es mejor conseguir la fecha en un formato ISO8601 antes de dársela a la función, realmente no debería mezclar el análisis de fecha y la aritmética en la misma función. Una función integral de análisis de fechas es compleja (no excesivamente, pero son tediosamente largas y necesitan muchas pruebas), la aritmética es bastante simple una vez que tiene un objeto de fecha.
Se necesitaría para hacer un poco más de trabajo para crear la fecha o bject usando el formato de fecha no estadounidense en la pregunta. – Phil
No, yo no. Lo anterior crea una cadena de fecha de formato ISO8601, que el objeto Fecha de ECMAScript analiza de forma predeterminada. Hubo un pequeño error en el original no relacionado con el formato, pero lo he editado desde entonces. :-) – RobG
@RobG me refería a analizar la cadena de fecha no estadounidense para ajustar el tiempo inicial objeto Date (* ed: Parece que tienes lo que quería decir *) ;-) – Phil