Función para convertir una cadena que representa una fecha en un objeto Date

He aquí una función que convierte una cadena con varios formatos (dd/mm/yyyy, dd-mm-yyyy o dd.mm.yyyy) en un objeto Date, de modo que después podríamos manipularla con funciones propias de dicho objeto.

Aunque parezca obvio no lo era tanto… Si observais el código veréis a qué me refiero.

Importante: para que la función no de error ante un valor erróneo antes deberemos comprobar que la cadena tenga un formato correcto de fecha y que dicha fecha resultante sea válida.

function convertirAFecha(string) {
  var date = new Date()
  mes = parseInt(string.substring(3, 5));
  date.setMonth(mes - 1); //en javascript los meses van de 0 a 11
  date.setDate(string.substring(0, 2));
  date.setYear(string.substring(6, 10));
  return date;
}

Otros artículos de esta serie:

[seriesposts show_date=0 order=asc]

3 Comentarios

  1. 17 junio, 2009 (22:34) #

    Muy buen codigo de solucion, claron y sencillo, Gracias por ese aporte

  2. 1 julio, 2009 (1:48) #

    una pequeña correción, para que funcione bien el codigo se debe primero asignar el mes, despues el dia y por ultimo el año
    function converToDate(string) {
    var date = new Date()
    mes = parseInt(string.substring(3, 5));
    date.setMonth(mes – 1); //en javascript los meses van de 0 a 11
    date.setDate(string.substring(0, 2));
    date.setYear(string.substring(6, 10));
    return date;
    }

  3. 1 julio, 2009 (7:39) #

    Gracias por la corrección !

Publicar un Comentario

Si es la primera vez que escribes, tu comentario será moderado por un administrador.

Con el fin de garantizar un ambiente de debate respetuoso, no se permitirán comentarios:

  • insultantes, difamatorios, racistas, sexistas, y/o discriminatorios
  • excesivamente críticos con otros participanes
  • que no aporten nada, sin sentido o repetidos
  • con enlaces considerados publicidad o spam
  • con material protegido por derechos de autor
*
*