Reaccionar con mecanografiado:
Tengo un selector de fecha (mui v5) que requiere que el valor de la fecha tenga el formato "yyyy-MM-dd". Sin embargo, la API devuelve un tipo Fecha en el formato "2022-01-12T00:00:00.000+00:00"
Atención: hay muchas respuestas para crear una cadena en ese formato, pero necesito una Fecha sin esto, no funcionará con TypeScript.
Básicamente, hay dos maneras de hacer esto.
Simplemente use la cadena ISO 8601 que ya tiene y manipúlela usando split() o substring() para que solo tenga la parte relevante de la cadena. Úselo cuando no necesite hacer ningún cálculo o procesamiento adicional con la fecha.
Primero analice la cadena pasándola al constructor Date() y luego formatéela usando toLocaleDateString() y la configuración regional en-CA para obtener el resultado que necesita. La ventaja de este enfoque es que podría realizar algún procesamiento que involucre la fecha antes de convertirla eventualmente en una cadena.
const strManipulationSplit = "2022-01-12T00:00:00.000+00:00".split("T")[0]; const strManipulationSubstring = "2022-01-12T00:00:00.000+00:00".substring(0, 10); const usingDate = new Date("2022-01-12T00:00:00.000+00:00").toLocaleDateString('en-CA'); console.log(strManipulationSplit); console.log(strManipulationSubstring); console.log(usingDate);La conclusión es que no se puede resolver a través de React o JS.
Si lo hago:
const strManipulationSplit = "2022-01-12T00:00:00.000+00:00".split("T")[0]; const strManipulationSubstring = "2022-01-12T00:00:00.000+00:00".substring(0, 10); const usandoFecha = nueva Fecha("2022-01-12T00:00:00.000+00:00");
el retorno será como: "martes 28 de diciembre de 2021 21:00:00 GMT-0300" no "yyyy-MM-dd"
Así que cambié la API para devolver el formato "yyyy-MM-dd"