herramientas jquery entrada de fecha: addDay (cantidad)

Estoy utilizando entrada de fecha de herramientas jquery. En mi aplicación, tengo una función que permite al usuario verificar sus datos personales según el rango de fechas.

Tengo un campo de texto de entrada que carga la función de entrada de fecha. Cuando el usuario selecciona una fecha, la muestra en: "dddd dd, mmmm aaaa" formato en el campo de texto.
Lo que estoy tratando de hacer es agregar 7 días (es decir, una semana) y mostrar la nueva fecha en el contenedor de rango superior, para explicar más, así es como se ve:

Desde: viernes 18 de mayo de 2012 Hasta: //aquí es donde quiero que esté: viernes 25 de mayo de 2012

Estoy tratando de usar la función api incorporada:añadirDía(cantidad) pero parece que no funciona. Tengo el siguiente código:

var ret_date = $(this).data("dateinput").getValue('dddd dd, mmmm yyyy');
//I tried: $(this).data("dateinput").addDay(7).getValue('dddd dd, mmmm yyyy')
//but it kept the same currently selected date
$("#to_field").html(ret_date);

Busqué en línea y SO pero no pude encontrar una solución. Por lo general, no soy un desarrollador front-end, por lo que mi conocimiento con javascript/jquery no es avanzado.
Cualquier ayuda es muy apreciada

preguntado el 22 de mayo de 12 a las 19:05

1 Respuestas

Por cierto, esto es lo que terminé haciendo y funcionó:

$("#DateField").change(function(event, date) {
        //I used format: yyyy-mm-dd
        var ret_date= $(this).data("dateinput").getValue('yyyy-mm-dd');   
        //Format the date using javascript
        //--> For that 2 javascript prototypes have been created(check at the end of the answer)          
        var myDate = new Date(ret_date);
        myDate.setDate(myDate.getDate()+7);
        $("#FinalDateField").html(myDate.dateFormat("Y-m-d"));
});

Los prototipos:

Date.prototype.dateFormat = function(format) {
  var result = "";
  for (var i = 0; i < format.length; ++i) {
    result += this.dateToString(format.charAt(i));
  }
  return result;
}

Date.prototype.dateToString = function(char) {
  switch (char) {
  case "Y":
    return this.getFullYear();
  case "m":
    return this.getMonth() + 1; //Since months are zero based, add 1
  case "d":
    return this.getDate();
  default:
    return char;
 }
}

Respondido 29 Jul 12, 00:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.