我正在和NextJs做一个项目。现在,我正在创建一个页面,其中用户正在使用useState和Fetch POST创建活动。我认为一切都在某种程度上正常运行,但我对日期有问题。
当我尝试发布时,我收到一个错误消息:“无法将JSON值转换为System.DateTime”。
我终于明白,我需要根据ISO发布一个日期。
我在MUI的Textfield中使用useState设置了一个日期。我希望将该日期转换为ISO。我尝试了不同的解决方案,但都没有奏效。
为了进一步说明,下面是我的代码的(部分)内容:
import {Textfield} from "@mui/material";
function CreateActivity {
var today = new Date();
var dd = String(today.getDate()).padStart(2, "0");
var mm = String(today.getMonth() + 1).padStart(2, "0");
var yyyy = today.getFullYear();
today = yyyy + "-" + mm + "-" + dd;
const [activityDate, setActivityDate] = useState(today + "T10:30");
return (
<div className={styles.textBox}>
<div>Date, time</div>
<TextField
variant="standard"
id="datetime-local"
type="datetime-local"
defaultValue={today + "T10:30"}
InputLabelProps={{
shrink: true,
}}
onChange={(event) => setActivityDate(event.target.value)}
/>
</div>
)
}
1条答案
按热度按时间h79rfbju1#
我设法解决了这个问题。
我所做的是将new date()放入useState:
我是这样设定的:
然后将值放入如下对象中: