如何使用时间戳设置日期选择器的值

How to set value of date-picker by using timestamp

我正在使用日期选择器,我想使用时间戳对象设置它的值,它的初始值是使用 new Date()

分配的
const [date, setDate] = useState(new Date());
     <DatePicker
      selected={date}
      onChange={(date) => setDate(date)} />

如果我想将此对象用作日期选择器的初始日期

timestamp: {seconds: 1627282008, nanoseconds: 285000000}

那我怎么把它转换成日期。这个对象数据如何给我在日期选择器中设置的日期。

您可以通过以下方式实现您的目标:new Date(timestamp.seconds * 1000 + timestamp.nanoseconds / 1000000000)。所以您的组件将与以下相同:

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

export default function App() {
  const timestamp = { seconds: 1627282008, nanoseconds: 285000000 };
  let timeStampInDate = new Date(timestamp.seconds * 1000 +  timestamp.nanoseconds / 1000000000);
  const [startDate, setStartDate] = useState(timeStampInDate);
  return (
        <DatePicker
              className="form-control"
              selected={startDate}
              onChange={(date) => setStartDate(date)}
              dateFormat="dd/MM/yyyy"
         />
  );
}

这是可执行代码:https://codesandbox.io/s/goofy-oskar-jft1d

下面的代码将解决您的问题;

const [date, setDate] = useState(new Date(timestamp.seconds*1000));