Estoy tratando de analizar la fecha usando la biblioteca date-fns pero obtengo un día antes como resultado. ¿Cómo puedo evitar esto y obtener el resultado correcto?
start = '2021-08-16' const parseStart = parse(start, 'yyyy-MM-dd', new Date());producción:
2021-08-15T18:30:00.000ZTuvimos un problema similar al intentar usar la función de formato date-fns en una fecha de cadena con guión. Estaba restando un día a la fecha mientras se formateaba. La solución fue, de hecho, cambiar las exageraciones por barras.
const dateString = '2010-08-03' const date = new Date(dateString.replace(/-/g, '/'))Para no tener esta sobrecarga de zona horaria, sugiero formatear su cadena de fecha en una cadena ISO y luego usar la función parseISO de date-fns.
Como esto:
import { parseISO } from 'date-fns'; const parseStringDate = (dateString: string): Date => { const ISODate = new Date(dateString).toISOString(); return parseISO(ISODate); }; parseStringDate("2021-08-19") //2021-08-19T00:00:00.000ZEsto funcionó para mí (v.2+):
// wrong: const date = format(new Date('2021-10-01'),'dd/MM/yyyy') console.log(date) // "30/09/2021" // ok: const date = format(new Date('2021/10/01'),'dd/MM/yyyy') console.log(date) // "01/10/2021"