Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda