La adición de un día a la fecha Javascript + único formato?

He heredado un proyecto para una empresa en la que estoy trabajando. Sus fechas son registrados en el formato siguiente:

18 de marzo de 2011, sería catalogado como “18 Mar 2011”.

Del 31 de abril de 2010 sería catalogado como “el 31 de abril de 2010”.

¿Cómo puedo usar Javascript para agregar un día a un formato de la fecha en la forma anterior, a continuación, convertir de nuevo en el mismo formato?

Quiero crear una función que añade un día a “18 Mar 2011” y devuelve “19 Mar 2011”. O añade 1 día “30 de Junio de 2011” y devuelve “1 de Julio de 2011”.

Alguien me puede ayudar?

OriginalEl autor Walker | 2011-06-21

3 respuestas

  1. 22

    Primero de todos es sin el 31 de abril 😉

    A la edición actual, la fecha objeto puede entender el formato actual cuando se pasa como argumento..

    var dateString = '30 Apr 2010'; //date string
    var actualDate = new Date(dateString); //convert to actual date
    var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+1); //create new increased date
    //now extract the bits we want to crete the text version of the new date..
    var newDateString = ('0'+newDate.getDate()).substr(-2) + ' ' + newDate.toDateString().substr(4,3) + ' ' + newDate.getFullYear();
    alert(newDateString);

    demo en http://jsfiddle.net/gaby/jGwYY/1/


    El mismo de la extracción usando (el mejor compatible) sector en lugar de substr

    //now extract the bits we want to crete the text version of the new date..
    var newDateString = ('0'+newDate.getDate()).slice(-2) + ' ' + newDate.toDateString().slice(4,7) + ' ' + newDate.getFullYear();

    Demo en http://jsfiddle.net/jGwYY/259/

    Perfecto gracias! Agradezco, necesito mucho más cómodo con la Fecha de la APi, supongo.
    Algo que cabe mencionar es que meses son indexados por 0. Por lo tanto Apr corresponde a 3.
    +1 para que “no existe el 31 de abril ;)” 🙂
    ++++++++++++++1 Gran ayuda
    Cuidado con substr(-2). Esto no funciona en IE8 e inferiores.

    OriginalEl autor Gabriele Petrioli

  2. 1

    Usted quiere convertir la cadena de fecha en un objeto Date, añadir un día para el objeto y, a continuación, convertir la espalda. Por favor, eche un vistazo a la API de google docs para Fecha como punto de partida.

    OriginalEl autor Justin Ethier

  3. 0

    Mayoría (todos?) los navegadores serán capaces de analizar que la fecha de la cadena con un simple

    var parsedDate = new Date(dateString);

    Una vez que usted tiene una Fecha de objetos a los que puede agregar un día y de salida de una fecha con formato de cadena de uso de algo como carácter de subrayado.fecha.

    Si usted descubre que algunos navegadores no se puede analizar que el formato de la fecha, a continuación, usted puede escribir una bastante simple expresión regular que se separe de la cadena de fecha en sus partes constitutivas, y luego crear una instancia de Fecha por mano.

    También recomiendo hacer el análisis en una función separada, y para tratar de mantener las fechas en una Fecha de representación tanto como sea posible. Analizar la cadena en una fecha tan pronto como usted puede, y el formato en una cadena tan tarde como usted puede.

    OriginalEl autor Pete Hodgson

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *