Estoy usando el paquete date-fns npm para alguna utilidad de fecha. Todo funciona bien en el navegador Chrome. pero en mac-safari no funciona. Aquí está mi complemento de código...
const format = require('date-fns/format'); const parseISO = require('date-fns/parseISO'); const startDateInput = "2020-11-20T09:30:00.000Z"; const formattedStartDate = new Date(format(parseISO(startDateInput), 'MM-dd-yyyy')); const formattedTodayDate = new Date(format(new Date(), "yyyy-MM-dd")) console.log('formattedStartDate', formattedStartDate);//IN MAC SAFARI --> Invalid Date console.log('formattedTodayDate date1', formattedTodayDate);//IN MAC SAFARI --> Invalid Date La misma consola en cromo le da al Fri Nov 20 2020 18:30:00 GMT+0530 (India Standard Time) una fecha válida.
¿No entiende cuál es el problema con el navegador Safari?
Creo que no necesita la función de formato si solo desea una Fecha (), y tampoco necesita hacer una new Date()
Esto debería funcionar :
const startDate = parseISO(startDateInput);Ahora debería tener un objeto Date válido ya que date-fns manejará el ISO 8601 por usted
si quieres formatearlo:
const formattedStartDate = format(startDate, 'yyyy-MM-dd') Aquí tiene una cadena de fecha, como 2022-05-05, solo debe mantenerla como una cadena, usarla donde la necesite y no debe usarla con new Date() porque no funcionará en safari