Tengo la siguiente expresión de moment :
<DialogContent> {startDate ? ( <DateTimePicker value={startDate} onChange={(value: any) => setStartDate(moment(value).format()) Me gustaría convertir a formato date-fns , pero falla, siempre es 1970 algo, ¿por qué? Convertí así:
setStartDate(getUnixTime(new Date(value)))Puede importar la función de format desde date-fns y usarla:
import { format } from 'date-fns'; // Pass desired format as a second parameter setStartDate(format(value, 'yyyy-MM-dd'));moment(value).format() devuelve una cadena de fecha ISO 8601, como: 2021-11-10T10:19:09+09:00 . Entonces, supongo que la función setStartDate requiere una cadena de fecha con formato ISO 8601.
El objetivo es usar date-fns para crear una cadena como resultado de moment.format .
Para hacer eso, necesita crear un objeto de fecha. Si funciona con la sintaxis de moment(value) , el value medio es un número de marca de tiempo de milisegundos ( 1636507295498 ) o una cadena de fecha formal ( 2021-11-10 ). Luego puede crear un objeto de fecha por constructor de fecha:
new Date(value);Ahora, puede usar formatISO para crear la cadena de fecha requerida:
formatISO(dateObject);El aspecto final será así:
setStartDate(formatISO(new Date(value)))