【问题标题】:How to set value of date-picker by using timestamp如何使用时间戳设置日期选择器的值
【发布时间】:2021-07-26 09:46:44
【问题描述】:

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

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

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

timestamp: {seconds: 1627282008, nanoseconds: 285000000}

那么我怎样才能将其转换为日期。这个对象数据如何给我在日期选择器中设置的日期。

【问题讨论】:

  • 你试过const [date, setDate] = useState(new Date(timestamp.seconds*1000));吗?
  • @ilkerkaran 它有效,您可以发布答案
  • 给你,伙计!
  • 是的@ilkerkaran 现在您可以将其发布为答案
  • 我已经完成了,请随时投票并标记为答案:)

标签: javascript reactjs datepicker react-datepicker


【解决方案1】:

下面的代码会解决你的问题;

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

【讨论】:

    【解决方案2】:

    您可以通过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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多