Tengo dos campos de texto que establecen la fecha de inicio y la fecha de vencimiento.
aquí está el código.
const startDateChange = (e) => { setStartDate(Math.floor(new Date().getTime(e.target.value) / 1000)); console.log(startDate); }; const dueDateChange = (e) => { setDueDate(Math.floor(new Date().getTime(e.target.value) / 1000)); console.log(dueDate); }; <div> <Typography variant="overline" display="block" gutterBottom>Start Date</Typography> <TextField id="standard-basic" type='date' style={{margin:3}} onChange={startDateChange} /> </div> <div> <Typography variant="overline" display="block" gutterBottom>Due Date</Typography> <TextField id="standard-basic" type='date' style={{margin:3}} onChange={dueDateChange} /> </div>Sin embargo, cada vez que cambio estas dos entradas individuales, siempre obtengo números similares (marca de tiempo de Unix), incluso establezco la fecha de vencimiento en el año 2033.
Por lo tanto, cuando renderizo con el número de marca de tiempo de Unix convertido, obtengo la misma fecha de cada una de estas dos entradas, que son la fecha de Hoy.
Necesito un poco de ayuda.
Intente mover e.target.value en el constructor de Date :
const startDateChange = (e) => { setStartDate(Math.floor(new Date(e.target.value).getTime() / 1000)); console.log(startDate); }; const dueDateChange = (e) => { setDueDate(Math.floor(new Date(e.target.value).getTime() / 1000)); console.log(dueDate); };