【问题标题】:React datepicker - invalid time value反应日期选择器 - 无效的时间值
【发布时间】:2019-11-27 14:50:58
【问题描述】:

我正在尝试创建一个 React-datepicker;但是,我收到此错误:

RangeError: 无效的时间值

我添加了一个 dateFormat 来匹配我的日期变量;但是,我仍然遇到同样的错误?

我做错了什么?

import DatePicker from "react-datepicker";

let date = moment(dateString).format('MMMM d, YYYY h:mm a'); // January 3, 2019 12:30 pm

<DatePicker
    selected={date}
    onChange={this.handleInputChange}
    showTimeSelect
    timeFormat="HH:mm"
    timeIntervals={15}
    dateFormat="MMMM d, YYYY h:mm a"
    timeCaption="time"
/>

我也试过 dateFormat="MMMM d, yyyy h:mm aa"

【问题讨论】:

    标签: reactjs datepicker react-datepicker


    【解决方案1】:

    DatePicker 需要 Date,而不是 moment。你必须先转换它:

    let date = moment(dateString).toDate();
    

    来自 DatePicker docs:

    在 1.8.0 版之前,此软件包使用 Moment.js。从 v2.0.0 开始,我们切换到使用原生 Date 对象来减小包的大小。如果您要从 1.8.0 切换到 2.0.0 或更高版本,请参阅上面的更新示例,查看示例站点以获取最新示例。

    【讨论】:

    • 谢谢。这正是我遇到的问题!
    【解决方案2】:

    在我的情况下,问题涉及在从数据库中提取 ISO 格式的日期后检查日期是否为空。

     <DatePicker selected={initiated_Date ? new Date(initiated_Date) : null}  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-22
      • 2018-12-15
      • 2017-12-31
      • 2022-08-16
      • 1970-01-01
      • 2023-02-13
      • 2016-01-04
      相关资源
      最近更新 更多