npm React日期选择器未将状态设置为dd/MM/yy

q35jwt9p  于 2022-11-24  发布在  React
关注(0)|答案(3)|浏览(122)

日期以正确的格式显示(31/08/21),但onChange将startDate设置为如下格式:
2021年8月31日星期二21:29:17 GMT +0200(中夏令时)
如何保存显示的格式?

import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";

export default function Bodyweight() {
  
const [startDate, setStartDate] = useState(new Date());

return(
<div>
  <DatePicker
          dateFormat="dd/MM/yy"
          selected={startDate}
          onChange={(date) => setStartDate(date)}
        />
</div>
)}
wlzqhblo

wlzqhblo1#

DatePicker组件接受Tue Aug 31 2021 21:29:17 GMT+0200 (Mitteleuropäische Sommerzeit)的日期。
它还以相同的格式返回日期。
要将日期转换为所需的格式,您有几个选项。
1.如果DatePicker是您自己的组件,请检查它的实现并修改代码,以便它以所需的格式返回日期。
1.如果选项1不是一个选项,则手动将日期转换为所需的格式。请注意,您可能需要第三个变量来存储格式化的日期,因为DatePicker组件接受实际日期对象而不是字符串。
请参考此链接以请求格式转换日期。Format JavaScript date as yyyy-mm-dd

bz4sfanl

bz4sfanl2#

只需在初始状态集中使用new Date().toLocaleDateString(),即:

const [startDate, setStartDate] = useState(new Date().toLocaleDateString());

我是根据我的理解来回答的,如果这不是你要找的解决方案,请在评论中进行纠正

dldeef67

dldeef673#

有点晚了,但你可以尝试像这样的onChange={(date:Date) => setStartDate(date)}

相关问题