Convertir fecha de String a Date en JavaScript

Esteban Sierra

Hay muchas ocasiones en las que necesitamos realizar cálculos con fechas en javascript o enviarlas como parámetro en la llamada a un servicio web mediante Ajax y tenemos problemas al convertir esa fecha recogida de un campo de texto al tipo Date.

En esta entrada os traigo una función con la que podréis convertir, de forma rápida, una cadena de texto con una fecha al tipo Date en JavaScript.

Como sabréis al inicializar una variable de tipo Date en JavaScript con un valor concreto, debemos indicar los datos de la fecha en el siguiente orden; año, mes y día. Orden distinto al que tendrán los datos de la fecha que recojamos de un input de tipo text, que normalmente estará en el formato dd/mm/yyyy.

Para ayudaros con la conversión de esos datos y que podáis realizar operaciones con las fechas o enviarlas como parámetros en algún servicio web, aquí os dejo dos líneas de código con la que podréis pasar rápidamente una cadena de texto con el formato dd/mm/yyyy a una variable de tipo Date en JavaScript.

function formatStringToDate(text) {
    var myDate = text.split('/');
    return new Date(myDate[2], myDate[1] - 1, myDate[0]);
}

NOTA: Si la fecha que queremos convertir, tuviese otro carácter separador entre los días, meses y años, bastaría con cambiar ese carácter en el método split().

Una vez que tengamos el vector con los datos de la fecha por separado, únicamente tenemos que inicializar la variable Date pasando los datos en el orden comentado anteriormente.

Tened presente que los meses en JavaScript se representan de 0 a 11. Es decir, para hacer referencia a Enero, debemos poner 0 y no 1, por eso restamos 1 al indicar el mes en la segunda línea del método.

Espero que te haya servido de ayuda esta entrada, si es así te agradecería un comentario o un compartir.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies