在反应中,我在 <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);
};
我有两个设置开始日期和截止日期的文本字段。
这是代码。
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);
};