jQuery – Traducir hora española a inglesa

Es muy común tener en un textbox de un formulario una fecha en español DD/MM/YYY, y queramos convertirla al formato inglés YYYY/MM/DD para poder trabajar con ella en JavScript. Veamos cómo traducir hora española a inglesa en jQuery

Por un lado imaginad que tenemos el formulario con el campo de fecha, que mediante un plugin nos deja una fecha en formato españo DD/MM/YYYY.

<form id="reserva" method="post" action="">
...
<input type="text" name="fecha" id="fecha" placeholder="DD/MM/YYYY" />
...
<input type="submit" value="Reservar" />
</form>

Manualmente o mediante plugin estilo DatePicker, se nos pondrá en el textbox una fecha en español: DD/MM/YYYY. Para tratarla en Javascript, deberemos ponerla en formato inglés: YYYY/MM/DD. Con el siguiente código lo haríamos:

// Cogemos el contenido del textbox y lo dividimos cogiendo el carácter / como separador
partes= $('#fecha').val().split('/');
// Tenemos en la Array partes, en la primera posición (0) el día, en la (1) el mes y en la (2) el año.
// Creamos un objeto date en Javascript pasándole en los parámetros el Año, el mes y por último el día.
fechaescogida = new Date(partes[2],partes[1]-1,partes[0]); 
// Ya tenemos un objeto Date con el formato inglés para poder trabajar con él.

A partir de aquí pueden haber muchas combinaciones. Que el separador no sea / sino . como en Alemán. O que que los días, meses o años esten cambiados. En estos casos deberéis adaptar el códido. En definitiva, es coger el texto del campo del formulario y trabajarlo con la función split que los separa. Según el formato de fecha, deberemos separar por /, o por – y así tendremos el día, mes y año por separado. A partir de ahí, podemos trabajar con ellos.

Una de las acciones más necesitadas es tener la fecha en español DD/MM/YYY, y necesitarla en formato ingles YYY-MM-DD para poderla almacenar en MySql.

Espero que os sea de utilidad el artículo jQuery – Traducir hora española a inglesa


Más información