Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
Formatee la fecha en JS y mantenga el formato de fecha para diferentes configuraciones regionales

Tengo una configuración para un formato de fecha que se ve así:

 const shortMonth12 = { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', hour12: 'true' };

Lo que me dará el siguiente formato de fecha:

 console.log(date.toLocaleString('en-US', shortMonth12)) // "Mar 28, 2022, 01:55 PM"

Genial, funciona y tenemos el formato de fecha que queremos. No queremos cambiarlo.

Pero también queremos traducir el nombre del mes. Pero el problema es que el formato en sí también cambia cuando se proporciona otra configuración regional. Por ejemplo:

 console.log(date.toLocaleString('sv-SE', shortMonth12)); // "28 mars 2022 01:55 em"

Entonces, queremos usar los locales para traducir los meses, pero también mantener el mismo formato. ¿Es posible la forma en que se ve la implementación?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Entonces, queremos usar los locales para traducir los meses, pero también mantener el mismo formato.

No, dado que toLocaleString usa la configuración regional proporcionada para dar formato a la fecha, el resultado depende de la configuración regional.

Si usa 2 configuraciones regionales diferentes que tienen diferentes formatos de fecha, como en-US y sv-SE , obtendrá diferentes formatos, según lo previsto.

en-US : Mar 28, 2022, 02:19 PM
sv-SE : 28 mars 2022 02:19 em


Puede obtener el resultado deseado creando el manual de cadenas, esto requiere un poco más de lógica y va en contra de la idea detrás de toLocaleString .

Use las funciones como toLocaleTimeString y getFullYear para crear variables basadas en la configuración regional, luego cree una cadena con el formato deseado, por ejemplo:

 const customFormat = (date, locale) => { let d = date.getDate(), m = date.toLocaleString(locale, { month: 'long' }), y = date.getFullYear(), t = date.toLocaleTimeString(locale, { hour: '2-digit', minute: '2-digit', hour12: 'true' }); return `${d} ${m}, ${y}, ${t}`; } const d = new Date(); const d1 = customFormat(d, 'en-US'); const d2 = customFormat(d, 'sv-SE'); console.log(d1); // 28 March, 2022, 02:25 PM console.log(d2); // 28 mars, 2022, 02:25 em

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda