在反应中,我在 <TextField type="date"> 中得到了太相似的 unix 时间戳

In react, I get too similar unix time stamp in <TextField type="date">

我有两个设置开始日期和截止日期的文本字段。

这是代码。

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>

然而,每次我更改这两个单独的输入时,我总是得到相似的数字(Unix 时间戳),即使我将截止日期设置为 2033 年。

因此,当我使用转换后的 Unix 时间戳数字进行渲染时,我得到了这两个输入的相同日期,即今天的日期。

我需要一些帮助。

尝试在 Date 构造函数中移动 e.target.value

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);
};