如何在反应日期选择器中从 "Feb 28 2002" 中以这种格式获取值“2002-2-28”

how can I get value "2002-2-28" in this format, from "Feb 28 2002", in react datepicker

我正在使用 react datepicker,当我在 onchange 中捕获值时,它会给我“2002 年 2 月 28 日星期四 11:34:59 GMT+0600(孟加拉国标准时间)”这个类型值,但我只想要“2002-2” -28" 这个输出

您可以使用下面的函数,您可以将您从日期选择器中获取的格式传递给它,它会return您想要的值。我已经将 1 添加到月份,因为月份值来自 (0-11)

  export function getFormat(value) {
        let date = new Date(value);
        var mm = date.getMonth() + 1;
        var yyyy = date.getFullYear();
        var day = date.getDay();
        return  yyyy + "-" + mm + "-" + day
    }

您可以像这样使用 moment 库:

import moment from 'moment'
// ...
moment("Thu Feb 28 2002 11:34:59 GMT+0600 (Bangladesh Standard Time)").format("YYYY-M-DD")

您也可以使用任何其他格式。

Documentation here

创建一个将日期转换为所需格式的 handleDate 函数。

App() {
  const [startDate, setStartDate] = useState(new Date());

  const handleDate = (date) => {
    const month = date.getMonth() + 1;
    const year = date.getFullYear();
    const day = date.getDate();
    setStartDate(`${year}-${month}-${day}`);
  };

  return (
    <DatePicker
      showPopperArrow={false}
      selected={new Date(startDate)}
      onChange={(date) => handleDate(date)}
    />
  );
}

export default App;