Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!