No estoy seguro de si esta será una pregunta duplicada, ya que no pude encontrar nada en SO, por lo tanto, continuaré con esta pregunta:
Tengo una cadena de fecha que depende de la configuración regional y también tengo la información de la configuración regional.
P.ej. dateStr = '06/07/2021' y locale='en-GB' .
¿Cómo obtengo un objeto JS Date de esto? El constructor de fecha no parece tomar una configuración regional y, de forma predeterminada, la analiza con respecto a la configuración regional en EE. UU. (MM-DD-YYYY).
Con esto quiero decir que el dateStr anterior se convertirá al 7th June 2021 y no al 6 July 2021 real utilizando el constructor Date.
ACTUALIZAR:
Recibí algo de d2l-intl pero no funciona. Bastante extraño.
var parser = new d2lIntl.DateTimeParse('en-GB'); var date = parser.parseDate('23/05/2021'); console.log( date.getMonth(), date.getDate() );que se rompe ya que todavía acepta cadenas de fecha en formato en-US.
Mirando los comentarios de la pregunta, creo que a veces las personas simplemente no entienden la pregunta y comienzan a culpar al problema en sí. es ridículo :D
Puede que esta no sea la manera perfecta de hacerlo (puede haber algo más limpio y más corto), pero definitivamente funciona.
locale = 'en-GB'; value = '07/06/2021'; moment.locale(locale); const localeData = moment.localeData(); const format = localeData.longDateFormat('L'); console.log(moment(value, format).format('YYYY-MM-DD')); // '2021-06-07'