Curso de JavaScript desde cero

Las fechas de JavaScript es español

Capítulo 47: Fechas en español con JavaScript

En este capítulo, terminamos con las fechas, viendo como manejarlas de una forma más organizada y en español.

Fechas en JavaScript bien presentadas

Las fechas que nos muestra JavaScript no son muy bonitas, nos aparecen datos que no queremos. Una forma de sacar una fecha en un formato mejor presentado es mediante el uso del método toLocaleString().

Palabra del lenguaje nº 67 encontrada.
toLocaleString() es un método que nos permite mostrar las fechas en formato DD/M/AAAA, hh:mm:ss.
const ahora = new Date();
const fecha = ahora.toLocaleString();

console.log(fecha);
28/2/2022, 18:04:04

Si al objeto de fecha, le pones la fecha que quieras, funciona igual, pero la tienes que escribir en formato válido, como este:

const futuro = new Date("10-1-2025, 7:03:59");
const fecha = futuro.toLocaleString();

console.log(fecha);

Me devuelve un 1 de octubre de 2025, fíjate en que en el argumento al objeto de fecha, se indica primero el mes, en la salida es al revés.

1/10/2025, 7:03:59

Formatear las fechas en JavaScript con toLocaleString()

Mostrar las fechas en español y bien ordenadas es muy fácil de hacer en JavaScript. Solo hay que utilizar el mismo método que acabamos de utilizar y conocer las opciones que nos permite.

Clave Posibles valores
day "2-digit","numeric"
month "2-digit", "short", "long", "numeric"
year "2-digit", "numeric"
hour "2-digit", "numeric"
minute "2-digit","numeric"
second "2-digit", "numeric"
hour12 false, true
hourCycle "h11", "h12", "h23", "h24"
weekday "short", "long", "narrow"
timeZoneName "short", "long"
formatMatcher "basic", "best-fit" (por defecto)
timeZone
localeMatcher "best-fit", "lookup"
timeStyle "short", "long", "medium", "full"
dateStyle "short", "long", "medium", "full"

Según la tabla anterior, para mostrar una fecha como estas : 28 feb 2022 o 28 de febrero de 2022, tendremos que darle las siguientes opciones al método:

const ahora = new Date();
const fechaCorta = ahora.toLocaleString("es-ES" ,
	{day: "2-digit", month: "short", year: "numeric"});
const fechaLarga= ahora.toLocaleString("es-ES" ,
	{day: "2-digit", month: "long", year: "numeric"});

console.log(fechaCorta);
console.log(fechaLarga);
28 feb 2022
28 de febrero de 2022

Si vamos a escribir varias fechas, es conveniente que guardes el valor del primer parámetro ("es-Es" para ir reutilizándolo).

const idioma = "es-Es";

const ahora = new Date();
const fechaCorta = ahora.toLocaleString(idioma,
{day: "2-digit", month: "short", year: "numeric"});
const fechaLarga= ahora.toLocaleString(idioma,
{day: "2-digit", month: "long", year: "numeric"});

console.log(fechaCorta);
console.log(fechaLarga);

Referencia de Country codes & language de JavaScript (códigos de país y lenguaje)

En esta tabla, tienes una referencia de todos los códigos de país: Ver tabla.

También te dejo un enlace para que veas los códigos de lenguaje, que no siempre coinciden con el código de país. Por ejemplo, "pt-PT" corresponde al idioma portugués (pt) y el país Portugal (PT), sin embargo, en Brasil se habla portugués también, en este caso, será "pt-BR".

A continuación, tienes unos cuantos ejercicios que te recomendaría hacer para que te asegures de saber utilizar correctamente todo esto.


Ejercicios de JavaScript


Con el fin de que aprendas a buscar por tu cuenta y a utilizar las referencias que te he dado, te dejo que busques por tu cuenta la traducción de los idiomas y países. Las referencias están en inglés.
  1. Muestra la fecha actual en alemán, país Bélgica.
  2. const ahora = new Date();
    const idioma = "";
    
    const fechaCorta = ahora.toLocaleString(idioma,
    	{ day: "2-digit", month: "2-digit", year: "numeric"});
    
    const fechaLarga = ahora.toLocaleString(idioma,
    	{ day: "2-digit", month: "long", year: "numeric"});
    console.log(fechaLarga);
  3. Con el código anterior, muestra la fecha actual en japonés de Japón.
  4. ¿A qué país corresponde el código VE?
  5. Ahora, utiliza la tabla de la sección "Formatear las fechas en JavaScript con toLocaleString()" para realizar los siguientes ejercicios.
  6. Intenta obtener una salida idéntica a esta en la consola, tomando como referencia los posibles valores de toLocaleString().
  7. Esta fecha es la que tengo en el momento de hacer el ejercicio. En tu caso, será otra si obtienes la actual. Aunque si le quieres especificar exactamente esta fecha, será un plus al ejercicio.
     jueves, 10 de marzo de 2022
  8. Muestra solo el año 2090 en formato de dos dígitos.
  9. Muestra solo la hora actual con minutos y segundos.
  10. Muestra solo los minutos y segundos.
  11. Muestra la hora actual con minutos y segundos en formato 12 horas.

La solución la encontrarás aquí: Haz click aquí.


Comentarios

Si te quedan dudas sobre el temario, sobre JavaScript o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Twitter

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.